 ) COMMENT = "Facts and denormalized dimensions for external tool (LTI) activations.";
 DROP TABLE IF EXISTS wiki_dim;
 CREATE TABLE IF NOT EXISTS wiki_dim (
-  `id` BIGINT PRIMARY KEY COMMENT 'Unique id for the wiki.',
+  `id` BIGINT COMMENT 'Unique id for the wiki.',
   `canvas_id` BIGINT COMMENT 'Primary key to the wikis table in canvas.',
   `parent_type` VARCHAR(256) COMMENT 'Type of Parent the wiki belongs to. For example, Groups or Courses.',
   `title` LONGTEXT COMMENT 'Title for the wiki.',
   `created_at` DATETIME COMMENT 'Timestamp when the wiki was first saved in the system.',
   `updated_at` DATETIME COMMENT 'Timestamp when the wiki was last updated in the system.',
   `front_page_url` LONGTEXT COMMENT 'URL of the front page of the wiki.',
-  `has_no_front_page` BOOLEAN COMMENT 'True if the wiki does not have a front page or is set to NULL.'
+  `has_no_front_page` BOOLEAN COMMENT 'True if the wiki does not have a front page or is set to NULL.',
+PRIMARY KEY (id)
 ) COMMENT = "Attributes for wiki in canvas.";
 DROP TABLE IF EXISTS wiki_fact;
 CREATE TABLE IF NOT EXISTS wiki_fact (

) COMMENT = "Measures for discussion topics/threads.";
DROP TABLE IF EXISTS discussion_entry_dim;
CREATE TABLE IF NOT EXISTS discussion_entry_dim (
  `id` BIGINT PRIMARY KEY COMMENT 'Unique surrogate id for the discussion entry.',
  `canvas_id` BIGINT COMMENT 'Primary key for this record in the Canvas discussion_entries table',
  `message` LONGTEXT COMMENT 'Full text of the entry\'s message',
  `workflow_state` VARCHAR(256) COMMENT 'Workflow state for discussion message (values: deleted, active)',
  `created_at` DATETIME COMMENT 'Timestamp when the discussion entry was created.',
  `updated_at` DATETIME COMMENT 'Timestamp when the discussion entry was updated.',
  `deleted_at` DATETIME COMMENT 'Timestamp when the discussion entry was deleted.',
  `depth` INTEGER UNSIGNED COMMENT 'Reply depth for this entry'
) COMMENT = "Attributes for discussion entries. Discussion entries are replies in a discussion topic.";
DROP TABLE IF EXISTS discussion_entry_fact;
CREATE TABLE IF NOT EXISTS discussion_entry_fact (

) COMMENT = "Measures for groups.";
DROP TABLE IF EXISTS course_ui_canvas_navigation_dim;
CREATE TABLE IF NOT EXISTS course_ui_canvas_navigation_dim (
  `id` BIGINT COMMENT 'Primary key for navigational item',
  `canvas_id` BIGINT COMMENT 'ID in Canvas system',
  `name` VARCHAR(256) COMMENT 'Name of navigational item',
  `default` VARCHAR(256) COMMENT '(Default|NotDefault) - set to Default if this is one of the navigation items enabled in a course by default',
  `original_position` VARCHAR(256) COMMENT 'Original position of this navigation item',
PRIMARY KEY (id)
) COMMENT = "Attributes for a Canvas navigation function";
DROP TABLE IF EXISTS course_ui_navigation_item_dim;
CREATE TABLE IF NOT EXISTS course_ui_navigation_item_dim (
  `id` BIGINT COMMENT 'Primary key for navigational item',
  `root_account_id` BIGINT COMMENT 'Foreign key to root account of the course',
  `visible` VARCHAR(256) COMMENT '(visible|hidden) Visible if this element is visible, hidden if hidden/not available in the navigation',
  `position` INTEGER UNSIGNED COMMENT 'Position in the navigation. NULL if hidden.',
PRIMARY KEY (id)
) COMMENT = "Attributes for a navigation item";
DROP TABLE IF EXISTS course_ui_navigation_item_fact;
CREATE TABLE IF NOT EXISTS course_ui_navigation_item_fact (
