| -- 003_admin_flags.sql (SQLite) | |
| -- | |
| -- Admin user-management columns: is_active, last_login_at, disabled_reason. | |
| -- All ADDITIVE — every column ships with a DEFAULT so pre-v3 rows are | |
| -- fully populated without a backfill step. | |
| -- | |
| -- SQLite's ALTER TABLE ADD COLUMN is not idempotent (it errors if the | |
| -- column already exists), so the runner uses CREATE TABLE IF NOT EXISTS | |
| -- probes elsewhere. For this file we accept ALTER errors when re-run | |
| -- via the runner's per-statement try/catch on idempotent migrations | |
| -- (sqlite-only behavior; see run.ts). | |
| ALTER TABLE users ADD COLUMN is_active INTEGER NOT NULL DEFAULT 1; | |
| ALTER TABLE users ADD COLUMN last_login_at TEXT; | |
| ALTER TABLE users ADD COLUMN disabled_reason TEXT; | |
| CREATE INDEX IF NOT EXISTS idx_users_is_active ON users(is_active); | |