1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-08-05 08:46:23 -07:00
gochan/initdb_mysql.sql
2019-06-13 16:36:02 -07:00

215 lines
8 KiB
SQL

-- Gochan MySQL startup/update script
-- DO NOT DELETE
CREATE TABLE IF NOT EXISTS `DBPREFIXannouncements` (
`id` SERIAL,
`subject` VARCHAR(45) NOT NULL DEFAULT '',
`message` TEXT NOT NULL CHECK (message <> ''),
`poster` VARCHAR(45) NOT NULL CHECK (poster <> ''),
`timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `DBPREFIXappeals` (
`id` SERIAL,
`ban` INT(11) UNSIGNED NOT NULL CHECK (ban <> 0),
`message` TEXT NOT NULL CHECK (message <> ''),
`timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`denied` BOOLEAN DEFAULT false,
`staff_response` TEXT NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS DBPREFIXbanlist (
`id` SERIAL,
`allow_read` BOOLEAN DEFAULT TRUE,
`ip` VARCHAR(45) NOT NULL DEFAULT '',
`name` VARCHAR(255) NOT NULL DEFAULT '',
`name_is_regex` BOOLEAN DEFAULT FALSE,
`filename` VARCHAR(255) NOT NULL DEFAULT '',
`file_checksum` VARCHAR(255) NOT NULL DEFAULT '',
`boards` VARCHAR(255) NOT NULL DEFAULT '*',
`staff` VARCHAR(50) NOT NULL DEFAULT '',
`timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`expires` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`permaban` BOOLEAN NOT NULL DEFAULT TRUE,
`reason` VARCHAR(255) NOT NULL DEFAULT '',
`type` SMALLINT NOT NULL DEFAULT 3,
`staff_note` VARCHAR(255) NOT NULL DEFAULT '',
`appeal_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`can_appeal` BOOLEAN NOT NULL DEFAULT true,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
ALTER TABLE `DBPREFIXbanlist`
CHANGE IF EXISTS `banned_by` `staff` VARCHAR(50) NOT NULL DEFAULT '',
CHANGE IF EXISTS `id` `id` SERIAL,
CHANGE IF EXISTS `expires` `expires` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CHANGE IF EXISTS `boards` `boards` VARCHAR(255) NOT NULL DEFAULT '*',
ADD COLUMN IF NOT EXISTS `type` TINYINT UNSIGNED NOT NULL DEFAULT 3,
ADD COLUMN IF NOT EXISTS `name_is_regex` BOOLEAN DEFAULT FALSE,
ADD COLUMN IF NOT EXISTS `filename` VARCHAR(255) NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS `file_checksum` VARCHAR(255) NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS `permaban` BOOLEAN DEFAULT FALSE,
ADD COLUMN IF NOT EXISTS `can_appeal` BOOLEAN DEFAULT TRUE,
DROP COLUMN IF EXISTS `message`;
DROP TABLE IF EXISTS `DBPREFIXbannedhashes`;
CREATE TABLE IF NOT EXISTS `DBPREFIXboards` (
`id` SERIAL,
`list_order` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`dir` VARCHAR(45) NOT NULL CHECK (dir <> ''),
`type` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`upload_type` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`title` VARCHAR(45) NOT NULL CHECK (title <> ''),
`subtitle` VARCHAR(64) NOT NULL DEFAULT '',
`description` VARCHAR(64) NOT NULL DEFAULT '',
`section` INT NOT NULL DEFAULT 1,
`max_file_size` INT UNSIGNED NOT NULL DEFAULT 4718592,
`max_pages` TINYINT UNSIGNED NOT NULL DEFAULT 11,
`default_style` VARCHAR(45) NOT NULL,
`locked` BOOLEAN NOT NULL DEFAULT FALSE,
`created_on` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`anonymous` VARCHAR(45) NOT NULL DEFAULT 'Anonymous',
`forced_anon` BOOLEAN NOT NULL DEFAULT FALSE,
`max_age` INT(20) UNSIGNED NOT NULL DEFAULT 0,
`autosage_after` INT(5) UNSIGNED NOT NULL DEFAULT 200,
`no_images_after` INT(5) UNSIGNED NOT NULL DEFAULT 0,
`max_message_length` INT(10) UNSIGNED NOT NULL DEFAULT 8192,
`embeds_allowed` BOOLEAN NOT NULL DEFAULT TRUE,
`redirect_to_thread` BOOLEAN NOT NULL DEFAULT TRUE,
`require_file` BOOLEAN NOT NULL DEFAULT FALSE,
`enable_catalog` BOOLEAN NOT NULL DEFAULT TRUE,
PRIMARY KEY (`id`),
UNIQUE (`dir`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
ALTER TABLE `DBPREFIXboards`
CHANGE COLUMN IF EXISTS `order` `list_order` INT UNSIGNED NOT NULL DEFAULT 0,
CHANGE COLUMN IF EXISTS `max_image_size` `max_file_size` INT UNSIGNED NOT NULL DEFAULT 4718592,
DROP COLUMN IF EXISTS `locale`;
CREATE TABLE IF NOT EXISTS `DBPREFIXembeds` (
`id` SERIAL,
`filetype` VARCHAR(3) NOT NULL,
`name` VARCHAR(45) NOT NULL,
`video_url` VARCHAR(255) NOT NULL,
`width` SMALLINT UNSIGNED NOT NULL,
`height` SMALLINT UNSIGNED NOT NULL,
`embed_code` TEXT NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
DROP TABLE IF EXISTS `DBPREFIXDBPREFIXfrontpage`;
CREATE TABLE IF NOT EXISTS `DBPREFIXinfo` (
`name` VARCHAR(45) NOT NULL,
`value` TEXT NOT NULL,
PRIMARY KEY (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `DBPREFIXlinks` (
`id` SERIAL,
`title` VARCHAR(45) NOT NULL,
`url` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
DROP TABLE IF EXISTS DBPREFIXloginattempts;
DROP TABLE IF EXISTS DBPREFIXpluginsettings;
CREATE TABLE IF NOT EXISTS `DBPREFIXposts` (
`id` SERIAL,
`boardid` INT NOT NULL,
`parentid` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`name` VARCHAR(50) NOT NULL,
`tripcode` VARCHAR(10) NOT NULL,
`email` VARCHAR(50) NOT NULL,
`subject` VARCHAR(100) NOT NULL,
`message` TEXT NOT NULL,
`message_raw` TEXT NOT NULL,
`password` VARCHAR(45) NOT NULL,
`filename` VARCHAR(45) NOT NULL DEFAULT '',
`filename_original` VARCHAR(255) NOT NULL DEFAULT '',
`file_checksum` VARCHAR(45) NOT NULL DEFAULT '',
`filesize` INT(20) UNSIGNED NOT NULL DEFAULT 0,
`image_w` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
`image_h` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
`thumb_w` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
`thumb_h` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
`ip` VARCHAR(45) NOT NULL DEFAULT '',
`tag` VARCHAR(5) NOT NULL DEFAULT '',
`timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`autosage` BOOLEAN NOT NULL DEFAULT FALSE,
`deleted_timestamp` TIMESTAMP,
`bumped` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`stickied` BOOLEAN NOT NULL DEFAULT FALSE,
`locked` BOOLEAN NOT NULL DEFAULT FALSE,
`reviewed` BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (`boardid`,`id`),
KEY `parentid` (`parentid`),
KEY `bumped` (`bumped`),
KEY `file_checksum` (`file_checksum`),
KEY `stickied` (`stickied`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
ALTER TABLE `DBPREFIXposts`
DROP COLUMN IF EXISTS `sillytag`,
DROP COLUMN IF EXISTS `poster_authority`;
CREATE TABLE IF NOT EXISTS `DBPREFIXreports` (
`id` SERIAL,
`board` VARCHAR(45) NOT NULL,
`postid` INT(10) UNSIGNED NOT NULL,
`timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`ip` VARCHAR(45) NOT NULL,
`reason` VARCHAR(255) NOT NULL,
`cleared` BOOLEAN NOT NULL DEFAULT FALSE,
`istemp` BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `DBPREFIXsections` (
`id` SERIAL,
`list_order` INT UNSIGNED NOT NULL DEFAULT 0,
`hidden` BOOLEAN NOT NULL DEFAULT FALSE,
`name` VARCHAR(45) NOT NULL,
`abbreviation` VARCHAR(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
ALTER TABLE `DBPREFIXsections`
CHANGE COLUMN IF EXISTS `order` `list_order` INT UNSIGNED NOT NULL DEFAULT 0;
CREATE TABLE IF NOT EXISTS `DBPREFIXsessions` (
`id` SERIAL,
`name` CHAR(16) NOT NULL,
`sessiondata` VARCHAR(45) NOT NULL,
`expires` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8mb4;
ALTER TABLE `DBPREFIXsessions`
CHANGE IF EXISTS `key` `name` CHAR(16) NOT NULL,
CHANGE IF EXISTS `data` `sessiondata` VARCHAR(45) NOT NULL;
CREATE TABLE IF NOT EXISTS `DBPREFIXstaff` (
`id` SERIAL,
`username` VARCHAR(45) NOT NULL,
`password_checksum` VARCHAR(120) NOT NULL,
`salt` CHAR(3) NOT NULL,
`rank` TINYINT(1) UNSIGNED NOT NULL DEFAULT 2,
`boards` VARCHAR(128) NOT NULL DEFAULT '*',
`added_on` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`last_active` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
ALTER TABLE `DBPREFIXstaff`
CHANGE IF EXISTS `boards` `boards` VARCHAR(128) NOT NULL DEFAULT '*';
CREATE TABLE IF NOT EXISTS `DBPREFIXwordfilters` (
`id` SERIAL,
`search` VARCHAR(75) NOT NULL CHECK (search <> ''),
`change_to` VARCHAR(75) NOT NULL DEFAULT '',
`boards` VARCHAR(128) NOT NULL DEFAULT '*',
`regex` BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;