CREATE TABLE IF NOT EXISTS `logheader` (
  `id`          CHAR(64)     NOT NULL PRIMARY KEY,
  `channel`     CHAR(32)     NOT NULL,
  `status`      CHAR(8)      NOT NULL,
  `status_time` DATETIME     NOT NULL,
  `time`        DATETIME     NOT NULL,
  `title`       VARCHAR(255),
  `tag`         VARCHAR(255),
  `description` TEXT
) ENGINE=innodb CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `logpost` (
  `id`       CHAR(24) NOT NULL PRIMARY KEY,
  `nick`     CHAR(32) NOT NULL,
  `type`     CHAR(8)  NOT NULL,
  `time`     DATETIME NOT NULL,
  `messages` TEXT     NOT NULL,
  `text`     TEXT     NOT NULL
) ENGINE=innodb CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `lognicks` (
  `log_id` CHAR(64) NOT NULL,
  `nick`   CHAR(32) NOT NULL,

  PRIMARY KEY (`log_id`, `nick`),
  FOREIGN KEY (`log_id`) REFERENCES logheader(id) ON DELETE CASCADE
) ENGINE=innodb CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `rpchar` (
  `nick`       CHAR(32)     NOT NULL PRIMARY KEY,
  `type`       CHAR(4)      NOT NULL,
  `name`       VARCHAR(255) NOT NULL,
  `short_name` VARCHAR(255) NOT NULL,
  `bio_url`    VARCHAR(255),
  `about`      TEXT
) ENGINE=innodb CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `altnick` (
  `nick`      CHAR(32) NOT NULL PRIMARY KEY,
  `main_nick` CHAR(32) NOT NULL,

  FOREIGN KEY (`main_nick`) REFERENCES rpchar(nick) ON DELETE CASCADE
) ENGINE=innodb CHARSET=utf8;