35 lines
1.0 KiB
SQL
35 lines
1.0 KiB
SQL
-- One-time upgrade of the live reasonix-crash DB to the account system.
|
|
-- Apply once: wrangler d1 execute reasonix-crash --remote --file=migrate.sql
|
|
-- The ALTERs are not idempotent; the CREATEs are. Fresh installs use schema.sql.
|
|
ALTER TABLE groups ADD COLUMN status TEXT NOT NULL DEFAULT 'open';
|
|
ALTER TABLE groups ADD COLUMN note TEXT NOT NULL DEFAULT '';
|
|
|
|
CREATE TABLE IF NOT EXISTS users (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
email TEXT NOT NULL UNIQUE,
|
|
password_hash TEXT NOT NULL,
|
|
role TEXT NOT NULL DEFAULT 'pending',
|
|
created_at TEXT NOT NULL,
|
|
approved_at TEXT,
|
|
approved_by INTEGER
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS sessions (
|
|
token TEXT PRIMARY KEY,
|
|
user_id INTEGER NOT NULL,
|
|
created_at TEXT NOT NULL,
|
|
expires_at TEXT NOT NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS sessions_user ON sessions (user_id);
|
|
|
|
CREATE TABLE IF NOT EXISTS audit_log (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
at TEXT NOT NULL,
|
|
actor_id INTEGER,
|
|
actor_email TEXT NOT NULL,
|
|
action TEXT NOT NULL,
|
|
target TEXT NOT NULL DEFAULT '',
|
|
detail TEXT NOT NULL DEFAULT ''
|
|
);
|