Files
comfychan/internal/database/seed.sql
T
2026-08-23 18:19:22 -04:00

65 lines
1.8 KiB
SQL

PRAGMA foreign_keys = ON;
-- ======================
-- Tables
-- ======================
CREATE TABLE IF NOT EXISTS boards (
id INTEGER PRIMARY KEY,
slug TEXT NOT NULL UNIQUE,
name TEXT NOT NULL,
tag TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS threads (
id INTEGER PRIMARY KEY AUTOINCREMENT,
board_slug TEXT NOT NULL,
subject TEXT NOT NULL DEFAULT '',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
bumped_at DATETIME DEFAULT CURRENT_TIMESTAMP,
pinned BOOLEAN NOT NULL DEFAULT 0,
locked BOOLEAN NOT NULL DEFAULT 0,
FOREIGN KEY (board_slug) REFERENCES boards(slug) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE IF NOT EXISTS posts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
thread_id INTEGER NOT NULL,
number INTEGER NOT NULL ,
banned BOOLEAN NOT NULL DEFAULT 0,
author TEXT DEFAULT 'Anonymous',
body TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
media_path TEXT NOT NULL DEFAULT '',
thumb_path TEXT NOT NULL DEFAULT '',
ip_hash TEXT NOT NULL,
FOREIGN KEY (thread_id) REFERENCES threads(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS admins (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL,
password TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS bans (
id INTEGER PRIMARY KEY AUTOINCREMENT,
ip_hash TEXT NOT NULL UNIQUE,
reason TEXT NOT NULL,
expiration DATETIME NOT NULL
);
-- ======================
-- Seed data
-- ======================
-- Boards
INSERT INTO boards (slug, name, tag) VALUES
('c', 'Comfy', 'Be comfy, fren'),
('r', 'Robots', 'Beep, boop'),
('gn', 'Goon', 'God is watching');
INSERT INTO admins (username, password) VALUES
('admin', '$2a$10$hzmcLK2ZrEz0NTxr7eVuV.gn8shW.tQxD0D0vYUgAwADZly3U/BZ.');