From 278f1e14a1585e2aec14eebc6145c766c0739ed0 Mon Sep 17 00:00:00 2001 From: Anders Gustafsson <34234789+anders-photowall@users.noreply.github.com> Date: Wed, 24 Apr 2024 09:48:33 +0200 Subject: [PATCH] 5411 paint table (#393) --- migrations/000.474.sql | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 migrations/000.474.sql diff --git a/migrations/000.474.sql b/migrations/000.474.sql new file mode 100644 index 0000000..c906bea --- /dev/null +++ b/migrations/000.474.sql @@ -0,0 +1,31 @@ +DROP TABLE IF EXISTS product_paint; +DROP TABLE IF EXISTS paint; + +-- Create paint table +CREATE TABLE paint ( + id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + color TEXT NOT NULL UNIQUE, + name TEXT NOT NULL, + path character varying(255) NOT NULL UNIQUE, + created timestamp with time zone NOT NULL DEFAULT now(), + updated timestamp with time zone DEFAULT NULL +); + +CREATE TRIGGER updated_timestamp BEFORE UPDATE ON paint FOR EACH ROW EXECUTE PROCEDURE updated_timestamp(); + +-- Insert mock paint data (for now) +INSERT INTO paint (color, name, path) +VALUES + ('NCS S 5020-B90G', 'Sage Green', 'sage-green'), + ('NCS S 1505-B', 'Ice Blue', 'ice-blue'), + ('NCS S 1015-G', 'Breeze Green', 'breeze-green'), + ('NCS S 0540-Y90R', 'Peachy', 'peachy'), + ('NCS S 1060-R30B', 'Magenta', 'magenta'); + +-- Create product_paint table +CREATE TABLE product_paint ( + product_id INTEGER NOT NULL REFERENCES "product-products"(productid) ON UPDATE CASCADE ON DELETE CASCADE, + paint_id INTEGER NOT NULL REFERENCES paint(id) ON UPDATE CASCADE ON DELETE CASCADE, + UNIQUE(product_id, paint_id) +); +