diff --git a/migrations/20240608163806_initial.sql b/migrations/20240608163806_initial.sql deleted file mode 100644 index bd150c0..0000000 --- a/migrations/20240608163806_initial.sql +++ /dev/null @@ -1,43 +0,0 @@ --- +goose Up --- +goose StatementBegin -CREATE TABLE IF NOT EXISTS users -( - id serial NOT NULL, - username VARCHAR(70) UNIQUE NOT NULL, - hashed_pwd VARCHAR(60) NOT NULL, - email VARCHAR(70) UNIQUE, - role INT NOT NULL, - expires_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), - created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), - updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), - - PRIMARY KEY (id), - CHECK (length(username) != 0 AND username = lower(username)), - CHECK (length(email) != 0 AND email = lower(email)), - CHECK (lower(username) != lower(email)), - CHECK (length(hashed_pwd) != 0), - CHECK (role BETWEEN 0 AND 3) -); - -CREATE INDEX ON users (id); -CREATE INDEX ON users (username); -CREATE INDEX ON users (email); - -CREATE FUNCTION usr_upd_trg_fn() RETURNS TRIGGER - LANGUAGE plpgsql AS -$$ -BEGIN - NEW.updated_at = NOW(); - RETURN NEW; -END; -$$; - -CREATE TRIGGER usr_upd_trg - BEFORE UPDATE - ON users - FOR EACH ROW -EXECUTE PROCEDURE usr_upd_trg_fn(); --- +goose StatementEnd - --- +goose Down -DROP TABLE IF EXISTS users; \ No newline at end of file