24 lines
931 B
SQL
24 lines
931 B
SQL
CREATE TABLE IF NOT EXISTS sessions (
|
|
token VARCHAR(64) PRIMARY KEY,
|
|
account_id VARCHAR(64) NOT NULL UNIQUE,
|
|
browser_id VARCHAR(64) NOT NULL,
|
|
email VARCHAR(320) NOT NULL,
|
|
password_ciphertext TEXT NOT NULL,
|
|
user_hash VARCHAR(128) NOT NULL,
|
|
imap_host VARCHAR(255) NOT NULL,
|
|
imap_port BIGINT NOT NULL,
|
|
imap_tls BIGINT NOT NULL,
|
|
imap_tls_verify BIGINT NOT NULL,
|
|
smtp_host VARCHAR(255) NOT NULL,
|
|
smtp_port BIGINT NOT NULL,
|
|
smtp_tls BIGINT NOT NULL,
|
|
smtp_tls_verify BIGINT NOT NULL,
|
|
timeout_secs BIGINT NOT NULL,
|
|
created_at_unix BIGINT NOT NULL,
|
|
last_accessed_unix BIGINT NOT NULL,
|
|
user_agent VARCHAR(512) 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);
|