Models and schemas for users and auth tokens

This commit is contained in:
2026-07-09 16:12:09 +03:00
parent ef0d281dcb
commit e06c53a9ff
9 changed files with 105 additions and 1 deletions
+14
View File
@@ -1 +1,15 @@
# https://www.playframework.com/documentation/latest/Configuration
slick.dbs.default = {
profile = "slick.jdbc.PostgresProfile$"
db = {
dataSourceClass = "org.postgresql.ds.PGSimpleDataSource"
properties = {
serverName = "localhost"
portNumber = "5432"
databaseName = ${POSTGRES_DB}
user = ${POSTGRES_USER}
password = ${POSTGRES_PASSWORD}
}
}
}
+26
View File
@@ -0,0 +1,26 @@
-- Users and tokens
-- !Ups
CREATE TABLE users (
id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
username VARCHAR UNIQUE NOT NULL,
gid VARCHAR UNIQUE NOT NULL,
password_digest VARCHAR
);
CREATE TABLE auth_tokens (
id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
token VARCHAR NOT NULL,
created_at TIMESTAMP NOT NULL,
expires_at TIMESTAMP NOT NULL
);
CREATE INDEX idx_auth_tokens_user_id_expires_at ON auth_tokens (user_id, expires_at);
-- !Downs
DROP INDEX idx_auth_tokens_user_id_expires_at;
DROP TABLE auth_tokens;
DROP TABLE users;