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