CREATE TABLE `pages` (
  `id` INT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  `title` VARBINARY(255) NOT NULL DEFAULT '',
  -- `is_redirect` tinyint(1) unsigned NOT NULL DEFAULT 0,

  PRIMARY KEY (`id`),
  UNIQUE KEY (`title`)
) ENGINE=InnoDB AUTO_INCREMENT=76684425 DEFAULT CHARSET=binary ROW_FORMAT=COMPRESSED;

-- VARBINARY usage instead of VARCHAR explanation: <https://stackoverflow.com/a/13397437>
-- > War on varchar. Changed all occurrences of varchar(N) and varchar(N) binary to varbinary(N). varchars cause problems ("Invalid mix of collations" errors) on MySQL databases with certain configs, most notably the default MySQL config.

CREATE TABLE `internal_links` (
  -- `id` INT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  `from_page_id` INT(8) UNSIGNED NOT NULL,
  `to_page_id` INT(8) UNSIGNED NOT NULL,

  -- PRIMARY KEY (`id`)
  PRIMARY KEY (`from_page_id`, `to_page_id`),
  FOREIGN KEY (`from_page_id`) REFERENCES `pages` (`id`) ON DELETE CASCADE,
  FOREIGN KEY (`to_page_id`) REFERENCES `pages` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=binary ROW_FORMAT=COMPRESSED;
