From 052c90373dc5177bbcbff9a5a2a1c2bf234b5e4a Mon Sep 17 00:00:00 2001 From: nquidox Date: Sun, 1 Mar 2026 22:14:28 +0300 Subject: [PATCH] db schema --- merch.sql | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 merch.sql diff --git a/merch.sql b/merch.sql new file mode 100644 index 0000000..0d6f6a0 --- /dev/null +++ b/merch.sql @@ -0,0 +1,38 @@ +CREATE TABLE users ( + id BIGSERIAL PRIMARY KEY, + created_at TIMESTAMP WITH TIME ZONE NOT NULL, + updated_at TIMESTAMP WITH TIME ZONE NULL, + deleted_at TIMESTAMP WITH TIME ZONE NULL, + uuid VARCHAR(36) NOT NULL UNIQUE +); + +CREATE TABLE merch ( + id BIGSERIAL PRIMARY KEY, + created_at TIMESTAMP WITH TIME ZONE NOT NULL, + updated_at TIMESTAMP WITH TIME ZONE NULL, + deleted_at TIMESTAMP WITH TIME ZONE NULL, + merch_uuid VARCHAR(36) NOT NULL UNIQUE, + user_id BIGINT NOT NULL UNIQUE, + name VARCHAR(255) NULL, + + CONSTRAINT fk_merch_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE +); + +CREATE TABLE merch_origins ( + id BIGSERIAL PRIMARY KEY, + created_at TIMESTAMP WITH TIME ZONE NOT NULL, + deleted_at TIMESTAMP WITH TIME ZONE NULL, + name VARCHAR(255) NULL +); + +CREATE TABLE merch_prices ( + id BIGSERIAL PRIMARY KEY, + created_at TIMESTAMP WITH TIME ZONE NOT NULL, + updated_at TIMESTAMP WITH TIME ZONE NULL, + deleted_at TIMESTAMP WITH TIME ZONE NULL, + merch_uuid VARCHAR(36) NOT NULL UNIQUE, + price INT NOT NULL, + origin_id INT NOT NULL, + + CONSTRAINT fk_merch_prices_merch_origins_id FOREIGN KEY (origin_id) REFERENCES merch_origins(id) ON DELETE CASCADE +); \ No newline at end of file