summaryrefslogtreecommitdiff
path: root/pkg/database/sql/000_init.sql
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pkg/database/sql/000_init.sql19
1 files changed, 15 insertions, 4 deletions
diff --git a/pkg/database/sql/000_init.sql b/pkg/database/sql/000_init.sql
index b635442..3530e52 100644
--- a/pkg/database/sql/000_init.sql
+++ b/pkg/database/sql/000_init.sql
@@ -3,27 +3,38 @@ CREATE TABLE schema_version (
) STRICT;
CREATE TABLE accounts (
- id INTEGER PRIMARY KEY,
+ id TEXT PRIMARY KEY,
username TEXT NOT NULL,
salt BLOB NOT NULL,
password_hash BLOB NOT NULL,
is_admin INTEGER NOT NULL DEFAULT FALSE,
created INTEGER NOT NULL DEFAULT (unixepoch()),
last_login INTEGER NOT NULL DEFAULT (unixepoch()),
- settings TEXT
+ settings BLOB NOT NULL
) STRICT;
CREATE UNIQUE INDEX accounts_username on accounts(username);
+CREATE TABLE sessions (
+ id TEXT PRIMARY KEY,
+ account_id TEXT NOT NULL,
+ created INTEGER NOT NULL DEFAULT (unixepoch()),
+ updated INTEGER NOT NULL DEFAULT (unixepoch()),
+ data TEXT NOT NULL,
+ FOREIGN KEY(account_id) REFERENCES accounts(id) ON DELETE CASCADE
+) STRICT;
+
CREATE TABLE states (
id INTEGER PRIMARY KEY,
path TEXT NOT NULL,
- lock TEXT
+ lock TEXT,
+ created INTEGER DEFAULT (unixepoch()),
+ updated INTEGER DEFAULT (unixepoch())
) STRICT;
CREATE UNIQUE INDEX states_path on states(path);
CREATE TABLE versions (
id INTEGER PRIMARY KEY,
- account_id INTEGER NOT NULL,
+ account_id TEXT NOT NULL,
state_id INTEGER,
data BLOB,
lock TEXT,