13 lines
612 B
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);
|