20 lines
753 B
SQL
20 lines
753 B
SQL
-- FlowSight schema v5: Google-authenticated users + server sessions.
|
|
-- user_key for a login user is `u:<google_sub>`; all user-scoped tables
|
|
-- (watchlists, routines, alerts, destinations, reports) work unchanged.
|
|
CREATE TABLE IF NOT EXISTS users(
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
google_sub TEXT NOT NULL UNIQUE,
|
|
email TEXT NOT NULL,
|
|
name TEXT NOT NULL DEFAULT '',
|
|
avatar_url TEXT NOT NULL DEFAULT '',
|
|
created_at TEXT NOT NULL DEFAULT ''
|
|
);
|
|
CREATE TABLE IF NOT EXISTS sessions(
|
|
token TEXT PRIMARY KEY,
|
|
user_key TEXT NOT NULL,
|
|
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
expires_at TEXT NOT NULL,
|
|
created_at TEXT NOT NULL DEFAULT ''
|
|
);
|
|
CREATE INDEX IF NOT EXISTS idx_sessions_user ON sessions(user_id);
|