weiro/sql/schema/01_init.up.sql
2026-02-19 22:29:44 +11:00

38 lines
1.1 KiB
SQL

CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL,
password TEXT NOT NULL
);
CREATE UNIQUE INDEX idx_users_username ON users (username);
CREATE TABLE sites (
id INTEGER PRIMARY KEY AUTOINCREMENT,
owner_id INTEGER NOT NULL,
title TEXT NOT NULL,
tagline TEXT NOT NULL,
FOREIGN KEY (owner_id) REFERENCES users (id) ON DELETE CASCADE
);
CREATE INDEX idx_site_owner ON sites (owner_id);
CREATE TABLE publish_targets (
id INTEGER PRIMARY KEY AUTOINCREMENT,
site_id INTEGER NOT NULL,
target_type INTEGER NOT NULL,
base_url TEXT NOT NULL,
target_ref TEXT NOT NULL,
target_key TEXT NOT NULL
);
CREATE INDEX idx_publish_targets_site ON publish_targets (site_id);
CREATE TABLE posts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
site_id INTEGER NOT NULL,
guid TEXT NOT NULL,
title TEXT NOT NULL,
body TEXT NOT NULL,
slug TEXT NOT NULL,
created_at INTEGER NOT NULL,
published_at INTEGER NOT NULL
);
CREATE INDEX idx_post_site ON posts (site_id);