Files
Ali Reza bb59d5e9ba Initial commit: Meshkee CMS API
NestJS backend with Prisma, Docker Compose for Postgres/Redis, and deploy docs for the production VM.
2026-07-21 17:52:36 +03:30

38 lines
1.5 KiB
SQL

-- Meshkee CMS — curated store specials (e.g. special sale, best sellers)
CREATE TABLE store_specials (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
business_id BIGINT NOT NULL,
title VARCHAR(255) NOT NULL,
sort_order INTEGER NOT NULL DEFAULT 0,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
CONSTRAINT store_specials_business_id_fkey
FOREIGN KEY (business_id) REFERENCES businesses (id) ON DELETE CASCADE
);
CREATE INDEX idx_store_specials_business_id ON store_specials (business_id);
CREATE TRIGGER store_specials_set_updated_at
BEFORE UPDATE ON store_specials
FOR EACH ROW
EXECUTE FUNCTION set_updated_at();
CREATE TABLE store_special_items (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
special_id BIGINT NOT NULL,
store_item_id BIGINT NOT NULL,
sort_order INTEGER NOT NULL DEFAULT 0,
CONSTRAINT store_special_items_special_id_fkey
FOREIGN KEY (special_id) REFERENCES store_specials (id) ON DELETE CASCADE,
CONSTRAINT store_special_items_store_item_id_fkey
FOREIGN KEY (store_item_id) REFERENCES store_items (id) ON DELETE CASCADE,
CONSTRAINT store_special_items_unique UNIQUE (special_id, store_item_id)
);
CREATE INDEX idx_store_special_items_special_id ON store_special_items (special_id);
CREATE INDEX idx_store_special_items_store_item_id ON store_special_items (store_item_id);