add service
All checks were successful
Deploy Smart Search Backend / deploy (push) Successful in 1m41s
All checks were successful
Deploy Smart Search Backend / deploy (push) Successful in 1m41s
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE users (
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id SERIAL PRIMARY KEY,
|
||||
email TEXT NOT NULL,
|
||||
email_hash TEXT NOT NULL UNIQUE,
|
||||
@@ -14,7 +14,7 @@ CREATE TABLE users (
|
||||
created_at TIMESTAMP DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX idx_users_email_hash ON users(email_hash);
|
||||
CREATE INDEX IF NOT EXISTS idx_users_email_hash ON users(email_hash);
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE users;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE sessions (
|
||||
CREATE TABLE IF NOT EXISTS sessions (
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id INT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
access_token TEXT NOT NULL,
|
||||
@@ -11,8 +11,8 @@ CREATE TABLE sessions (
|
||||
revoked_at TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sessions_refresh ON sessions(refresh_token);
|
||||
CREATE INDEX idx_sessions_user_id ON sessions(user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_sessions_refresh ON sessions(refresh_token);
|
||||
CREATE INDEX IF NOT EXISTS idx_sessions_user_id ON sessions(user_id);
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE sessions;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE invite_codes (
|
||||
CREATE TABLE IF NOT EXISTS invite_codes (
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id INT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
code BIGINT NOT NULL UNIQUE,
|
||||
@@ -10,8 +10,8 @@ CREATE TABLE invite_codes (
|
||||
expires_at TIMESTAMP NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX idx_invite_codes_code ON invite_codes(code);
|
||||
CREATE INDEX idx_invite_codes_user_id ON invite_codes(user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_invite_codes_code ON invite_codes(code);
|
||||
CREATE INDEX IF NOT EXISTS idx_invite_codes_user_id ON invite_codes(user_id);
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE invite_codes;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE mailing_status (
|
||||
CREATE TABLE IF NOT EXISTS mailing_status (
|
||||
id SERIAL PRIMARY KEY,
|
||||
status_name TEXT NOT NULL UNIQUE
|
||||
);
|
||||
@@ -8,7 +8,8 @@ INSERT INTO mailing_status (status_name) VALUES
|
||||
('pending'),
|
||||
('in_progress'),
|
||||
('completed'),
|
||||
('failed');
|
||||
('failed')
|
||||
ON CONFLICT (status_name) DO NOTHING;
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE mailing_status;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE requests_for_suppliers (
|
||||
CREATE TABLE IF NOT EXISTS requests_for_suppliers (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
user_id INT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
request_txt TEXT,
|
||||
@@ -11,8 +11,8 @@ CREATE TABLE requests_for_suppliers (
|
||||
created_at TIMESTAMP DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX idx_requests_user_id ON requests_for_suppliers(user_id);
|
||||
CREATE INDEX idx_requests_status ON requests_for_suppliers(mailling_status_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_requests_user_id ON requests_for_suppliers(user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_requests_status ON requests_for_suppliers(mailling_status_id);
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE requests_for_suppliers;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE suppliers (
|
||||
CREATE TABLE IF NOT EXISTS suppliers (
|
||||
id SERIAL PRIMARY KEY,
|
||||
request_id UUID NOT NULL REFERENCES requests_for_suppliers(id) ON DELETE CASCADE,
|
||||
name TEXT NOT NULL,
|
||||
@@ -10,7 +10,7 @@ CREATE TABLE suppliers (
|
||||
created_at TIMESTAMP DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX idx_suppliers_request_id ON suppliers(request_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_suppliers_request_id ON suppliers(request_id);
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE suppliers;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE request_token_usage (
|
||||
CREATE TABLE IF NOT EXISTS request_token_usage (
|
||||
id SERIAL PRIMARY KEY,
|
||||
request_id UUID NOT NULL REFERENCES requests_for_suppliers(id) ON DELETE CASCADE,
|
||||
request_token_count INT DEFAULT 0,
|
||||
@@ -9,7 +9,7 @@ CREATE TABLE request_token_usage (
|
||||
created_at TIMESTAMP DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX idx_token_usage_request_id ON request_token_usage(request_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_token_usage_request_id ON request_token_usage(request_id);
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE request_token_usage;
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
-- +goose Up
|
||||
ALTER TABLE users ADD CONSTRAINT balance_non_negative CHECK (balance >= 0);
|
||||
|
||||
ALTER TABLE invite_codes ADD CONSTRAINT used_count_non_negative CHECK (used_count >= 0);
|
||||
ALTER TABLE invite_codes ADD CONSTRAINT used_count_within_limit CHECK (used_count <= can_be_used_count);
|
||||
|
||||
-- +goose Down
|
||||
ALTER TABLE users DROP CONSTRAINT IF EXISTS balance_non_negative;
|
||||
ALTER TABLE invite_codes DROP CONSTRAINT IF EXISTS used_count_non_negative;
|
||||
ALTER TABLE invite_codes DROP CONSTRAINT IF EXISTS used_count_within_limit;
|
||||
ALTER TABLE users DROP CONSTRAINT IF EXISTS balance_non_negative;
|
||||
Reference in New Issue
Block a user