Bri-Tunes/db/migrations/003_email_verification.sql

13 lines
612 B
SQL

-- Existing rows get email_verified = 1 (grandfathered in). New inserts will explicitly pass 0.
ALTER TABLE users ADD COLUMN email_verified INTEGER NOT NULL DEFAULT 1;
CREATE TABLE IF NOT EXISTS email_verifications (
id INTEGER PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
token TEXT NOT NULL UNIQUE,
expires_at TEXT NOT NULL,
created_at TEXT NOT NULL DEFAULT (datetime('now'))
);
CREATE INDEX IF NOT EXISTS idx_email_ver_token ON email_verifications(token);
CREATE INDEX IF NOT EXISTS idx_email_ver_user_id ON email_verifications(user_id);