diff options
Diffstat (limited to 'pkg/database/sql/000_init.sql')
-rw-r--r-- | pkg/database/sql/000_init.sql | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/pkg/database/sql/000_init.sql b/pkg/database/sql/000_init.sql index b635442..0e52c60 100644 --- a/pkg/database/sql/000_init.sql +++ b/pkg/database/sql/000_init.sql @@ -3,28 +3,39 @@ 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, + id TEXT 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, - state_id INTEGER, + id TEXT PRIMARY KEY, + account_id TEXT NOT NULL, + state_id TEXT, data BLOB, lock TEXT, created INTEGER DEFAULT (unixepoch()), |