diff options
Diffstat (limited to '')
-rw-r--r-- | pkg/database/sql/000_init.sql | 19 |
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, |