setup db seed

This commit is contained in:
Dominic Ferrando
2025-04-17 18:13:06 -04:00
parent 24bb9af073
commit 576cc763b0
3 changed files with 60 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
internal/db/comfychan.db
+7
View File
@@ -12,3 +12,10 @@ live/sync_assets:
live: live:
make -j2 live/templ live/sync_assets make -j2 live/templ live/sync_assets
db/seed:
sqlite3 ./internal/db/comfychan.db < ./internal/db/seed.sql
db/seed/f:
rm ./internal/db/comfychan.db && sqlite3 ./internal/db/comfychan.db < ./internal/db/seed.sql
+52
View File
@@ -0,0 +1,52 @@
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
);
CREATE TABLE IF NOT EXISTS threads (
id INTEGER PRIMARY KEY AUTOINCREMENT,
board_id INTEGER NOT NULL,
subject TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
bumped_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (board_id) REFERENCES boards(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS posts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
thread_id INTEGER NOT NULL,
author TEXT DEFAULT 'Anonymous',
body TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (thread_id) REFERENCES threads(id) ON DELETE CASCADE
);
-- ======================
-- Seed data
-- ======================
-- Boards
INSERT INTO boards (slug, name, tag) VALUES
('comfy', 'Comfy', 'Be comfy, fren'),
('g', 'Technology', 'Beep boop');
-- Welcome threads
-- /comfy/
INSERT INTO threads (board_id, subject) VALUES (
(SELECT id FROM boards WHERE slug='comfy'),
'Welcome to /comfy/.'
);
INSERT INTO posts (thread_id, body) VALUES (
(SELECT id FROM threads WHERE subject LIKE 'Welcome to /comfy/.%'),
'Post comfy. Be nice.'
);