2019-06-13 16:36:02 -07:00
|
|
|
-- Gochan SQLite startup/update script
|
|
|
|
-- DO NOT DELETE
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXannouncements (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
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
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXappeals (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
ban INT 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
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXbanlist (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
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
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXboards (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
list_order SMALLINT NOT NULL DEFAULT 0,
|
|
|
|
dir VARCHAR(45) UNIQUE NOT NULL CHECK (dir <> ''),
|
|
|
|
type SMALLINT NOT NULL DEFAULT 0,
|
|
|
|
upload_type SMALLINT 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 NOT NULL DEFAULT 4718592,
|
|
|
|
max_pages SMALLINT NOT NULL DEFAULT 11,
|
2019-08-09 14:25:02 -07:00
|
|
|
default_style VARCHAR(45) NOT NULL DEFAULT '',
|
2019-06-13 16:36:02 -07:00
|
|
|
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 NOT NULL DEFAULT 0,
|
|
|
|
autosage_after INT NOT NULL DEFAULT 200,
|
|
|
|
no_images_after INT NOT NULL DEFAULT 0,
|
|
|
|
max_message_length INT 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
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXembeds (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
filetype VARCHAR(3) NOT NULL,
|
|
|
|
name VARCHAR(45) NOT NULL,
|
|
|
|
video_url VARCHAR(255) NOT NULL,
|
|
|
|
width SMALLINT NOT NULL,
|
|
|
|
height SMALLINT NOT NULL,
|
|
|
|
embed_code TEXT NOT NULL
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXinfo (
|
|
|
|
name VARCHAR(45) PRIMARY KEY NOT NULL,
|
|
|
|
value TEXT NOT NULL
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXlinks (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
title VARCHAR(45) NOT NULL,
|
|
|
|
url VARCHAR(255) NOT NULL
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXposts (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
boardid INT NOT NULL,
|
|
|
|
parentid INT 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 NOT NULL DEFAULT 0,
|
|
|
|
image_w SMALLINT NOT NULL DEFAULT 0,
|
|
|
|
image_h SMALLINT NOT NULL DEFAULT 0,
|
|
|
|
thumb_w SMALLINT NOT NULL DEFAULT 0,
|
|
|
|
thumb_h SMALLINT 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
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXreports (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
board VARCHAR(45) NOT NULL,
|
|
|
|
postid INT 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
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXsections (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
list_order SMALLINT NOT NULL DEFAULT 0,
|
|
|
|
hidden SMALLINT NOT NULL,
|
|
|
|
name VARCHAR(45) NOT NULL,
|
|
|
|
abbreviation VARCHAR(10) NOT NULL
|
|
|
|
);
|
|
|
|
|
2019-08-09 14:25:02 -07:00
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXsessions (
|
2019-06-13 16:36:02 -07:00
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
name CHAR(16) NOT NULL,
|
|
|
|
sessiondata VARCHAR(45) NOT NULL,
|
|
|
|
expires TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
|
|
);
|
|
|
|
|
2020-03-07 17:20:35 -08:00
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXstaff (
|
2019-06-13 16:36:02 -07:00
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
username VARCHAR(45) UNIQUE NOT NULL,
|
|
|
|
password_checksum VARCHAR(120) NOT NULL,
|
|
|
|
rank SMALLINT NOT NULL,
|
|
|
|
boards VARCHAR(128) NOT NULL DEFAULT '*',
|
|
|
|
added_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
last_active TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
|
|
);
|
|
|
|
|
2020-03-07 17:20:35 -08:00
|
|
|
-- Because SQLite doesn't have DROP COLUMN :(
|
|
|
|
BEGIN TRANSACTION;
|
|
|
|
CREATE TABLE IF NOT EXISTS _DBPREFIXstaff (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
username VARCHAR(45) UNIQUE NOT NULL,
|
|
|
|
password_checksum VARCHAR(120) NOT NULL,
|
|
|
|
rank SMALLINT NOT NULL,
|
|
|
|
boards VARCHAR(128) NOT NULL DEFAULT '*',
|
|
|
|
added_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
last_active TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
|
|
);
|
|
|
|
INSERT INTO _DBPREFIXstaff
|
|
|
|
(id,username,password_checksum,rank,boards,added_on,last_active)
|
|
|
|
SELECT id,username,password_checksum,rank,boards,added_on,last_active
|
|
|
|
FROM DBPREFIXstaff;
|
|
|
|
DROP TABLE DBPREFIXstaff;
|
|
|
|
ALTER TABLE _DBPREFIXstaff RENAME TO DBPREFIXstaff;
|
|
|
|
COMMIT;
|
|
|
|
|
2019-06-13 16:36:02 -07:00
|
|
|
CREATE TABLE IF NOT EXISTS DBPREFIXwordfilters (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
|
|
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
|
|
|
|
);
|