diff options
Diffstat (limited to 'internal/database/migrations/001_init.up.sql')
-rw-r--r-- | internal/database/migrations/001_init.up.sql | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/internal/database/migrations/001_init.up.sql b/internal/database/migrations/001_init.up.sql new file mode 100644 index 0000000..7edbd96 --- /dev/null +++ b/internal/database/migrations/001_init.up.sql @@ -0,0 +1,24 @@ +BEGIN; +CREATE TABLE user_score ( + id INT GENERATED BY DEFAULT AS IDENTITY, + username TEXT UNIQUE NOT NULL, + burn_time TIMESTAMP NOT NULL DEFAULT NOW() + interval '1 day', + score SMALLINT NOT NULL, + created_at timestamp NOT NULL DEFAULT NOW() +); + +CREATE TABLE action ( + id INT GENERATED BY DEFAULT AS IDENTITY, + name TEXT NOT NULL, + magnitude SMALLSERIAL NOT NULL DEFAULT 1, + repeatable BOOLEAN NOT NULL DEFAULT FALSE, + type TEXT NOT NULL, + done BOOLEAN NOT NULL DEFAULT FALSE, + username TEXT NOT NULL, + created_at timestamp NOT NULL DEFAULT NOW(), + UNIQUE(username, name), + CONSTRAINT fk_user_score + FOREIGN KEY(username) + REFERENCES user_score(username) +); +COMMIT; |