Fixes in migrations

This commit is contained in:
PB
2025-11-08 18:19:21 +01:00
parent efec7c2b9d
commit 2b16b17308
5 changed files with 31 additions and 24 deletions

View File

@@ -7,28 +7,41 @@ CREATE TABLE IF NOT EXISTS basket.basket
PRIMARY KEY (id)
);
ALTER TABLE IF EXISTS basket.basket OWNER to egommerce;
CREATE TABLE IF NOT EXISTS basket.basket_item
(
id uuid NOT NULL DEFAULT gen_random_uuid(),
basket_id uuid NOT NULL,
product_id integer NOT NULL,
product_id uuid NOT NULL,
quantity integer NOT NULL DEFAULT 1,
price double precision NOT NULL DEFAULT 0.00,
created_at timestamp without time zone NOT NULL DEFAULT now(),
updated_at timestamp without time zone,
PRIMARY KEY (id)
PRIMARY KEY (id),
CONSTRAINT basket_item_basket_fkey FOREIGN KEY (basket_id)
REFERENCES basket.basket (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID
);
ALTER TABLE IF EXISTS basket.basket_item
ADD CONSTRAINT basket_item_basket_fkey FOREIGN KEY (basket_id)
REFERENCES basket.basket (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS basket.basket_item OWNER to egommerce;
ALTER TABLE IF EXISTS basket.basket
OWNER to postgres;
CREATE FUNCTION basket.update_basket_timestamp()
RETURNS trigger
LANGUAGE 'plpgsql'
VOLATILE
AS $BODY$
BEGIN
UPDATE basket.basket SET updated_at = NOW() WHERE id = NEW.basket_id;
RETURN NEW;
END;
$BODY$;
ALTER TABLE IF EXISTS basket.basket_item
OWNER to postgres;
-- TODO ^^ PRIVILEGES...
ALTER FUNCTION basket.update_basket_timestamp() OWNER TO egommerce;
CREATE TRIGGER trigger_update_basket_timestamp
AFTER INSERT OR UPDATE OR DELETE ON basket.basket_item
FOR EACH ROW
EXECUTE FUNCTION basket.update_basket_timestamp();