weiro/sql/schema/01_init.up.sql

38 lines
1.2 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 site (owner_id);
CREATE TABLE publish_targets (
id INTEGER PRIMARY KEY AUTOINCREMENT,
site_id INTEGER NOT NULL,
publish_target_type INTEGER NOT NULL,
base_url TEXT NOT NULL,
target_site_id TEXT NOT NULL,
target_publish_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);