mirror of
https://github.com/Eggbertx/gochan.git
synced 2025-08-05 08:46:23 -07:00
215 lines
8 KiB
SQL
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;
|