Models and schemas for users and auth tokens
This commit is contained in:
@@ -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}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
Reference in New Issue
Block a user