30 lines
880 B
SQL
30 lines
880 B
SQL
-- +goose Up
|
|
-- +goose StatementBegin
|
|
SELECT 'up SQL query';
|
|
|
|
CREATE TABLE IF NOT EXISTS users (
|
|
id bigserial PRIMARY KEY
|
|
, username TEXT DEFAULT NULL
|
|
, login TEXT NOT NULL UNIQUE
|
|
, PASSWORD bytea NOT NULL
|
|
, created_at timestamptz DEFAULT current_timestamp
|
|
, updated_at timestamptz DEFAULT current_timestamp
|
|
);
|
|
|
|
ALTER TABLE users ADD CONSTRAINT users_username_len CHECK(length(username) > 250) NOT VALID;
|
|
ALTER TABLE users ADD CONSTRAINT users_login_len CHECK(length(username) > 250) NOT VALID;
|
|
|
|
CREATE INDEX CONCURRENTLY idx_users_login ON
|
|
users (login);
|
|
CREATE INDEX CONCURRENTLY idx_users_username ON
|
|
users (username);
|
|
-- +goose StatementEnd
|
|
|
|
-- +goose Down
|
|
-- +goose StatementBegin
|
|
SELECT 'down SQL query';
|
|
DROP INDEX CONCURRENTLY IF EXISTS idx_users_login;
|
|
DROP INDEX CONCURRENTLY IF EXISTS idx_users_username;
|
|
DROP TABLE IF EXISTS users;
|
|
-- +goose StatementEnd
|