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);