24 lines
888 B
SQL
24 lines
888 B
SQL
CREATE TABLE IF NOT EXISTS sessions (
|
|
token TEXT PRIMARY KEY NOT NULL,
|
|
account_id TEXT NOT NULL UNIQUE,
|
|
browser_id TEXT NOT NULL,
|
|
email TEXT NOT NULL,
|
|
password_ciphertext TEXT NOT NULL,
|
|
user_hash TEXT NOT NULL,
|
|
imap_host TEXT NOT NULL,
|
|
imap_port INTEGER NOT NULL,
|
|
imap_tls INTEGER NOT NULL,
|
|
imap_tls_verify INTEGER NOT NULL,
|
|
smtp_host TEXT NOT NULL,
|
|
smtp_port INTEGER NOT NULL,
|
|
smtp_tls INTEGER NOT NULL,
|
|
smtp_tls_verify INTEGER NOT NULL,
|
|
timeout_secs INTEGER NOT NULL,
|
|
created_at_unix INTEGER NOT NULL,
|
|
last_accessed_unix INTEGER NOT NULL,
|
|
user_agent TEXT NOT NULL DEFAULT ''
|
|
);
|
|
CREATE INDEX IF NOT EXISTS idx_sessions_browser ON sessions(browser_id);
|
|
CREATE INDEX IF NOT EXISTS idx_sessions_user ON sessions(user_hash);
|
|
CREATE INDEX IF NOT EXISTS idx_sessions_expiry ON sessions(last_accessed_unix, timeout_secs);
|