24 lines
1.0 KiB
SQL
24 lines
1.0 KiB
SQL
-- Change so paint price is per bucket size instead of per liter
|
|
ALTER TABLE prices_other_products DROP COLUMN IF EXISTS paint_price_per_liter;
|
|
|
|
DROP TABLE IF EXISTS paint_prices;
|
|
|
|
CREATE TABLE paint_prices (
|
|
liters NUMERIC NOT NULL,
|
|
market_id INT REFERENCES markets (id) NOT NULL,
|
|
price NUMERIC NOT NULL CHECK (price > 0),
|
|
created timestamp with time zone NOT NULL DEFAULT now(),
|
|
updated timestamp with time zone DEFAULT NULL,
|
|
PRIMARY KEY (liters, market_id)
|
|
);
|
|
|
|
CREATE TRIGGER updated_timestamp BEFORE UPDATE ON paint_prices FOR EACH ROW EXECUTE PROCEDURE updated_timestamp();
|
|
|
|
-- for each market in markets, add a row for each paint size
|
|
INSERT INTO paint_prices (liters, market_id, price)
|
|
SELECT liters, markets.id, 19 FROM paint_primer_sizes CROSS JOIN markets WHERE paint_primer_id=1 ORDER BY markets.id, liters;
|
|
|
|
-- set some made up prices for the different paint sizes
|
|
UPDATE paint_prices SET price = 99 WHERE liters = 0.9;
|
|
UPDATE paint_prices SET price = 199 WHERE liters = 2.7;
|