From d1f378c6e9a814daef9d161dfbb98720d5588579 Mon Sep 17 00:00:00 2001 From: Rikard Bartholf Date: Fri, 11 Oct 2024 10:01:00 +0200 Subject: [PATCH] Add discount_codes.applicable_on_sales (#420) --- migrations/000.501.sql | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 migrations/000.501.sql diff --git a/migrations/000.501.sql b/migrations/000.501.sql new file mode 100644 index 0000000..90bbf18 --- /dev/null +++ b/migrations/000.501.sql @@ -0,0 +1,23 @@ +ALTER TABLE discount_codes + ADD COLUMN IF NOT EXISTS applicable_on_sales BOOLEAN NOT NULL DEFAULT FALSE; + +UPDATE discount_codes + SET applicable_on_sales = TRUE + WHERE type != '%'; + +CREATE OR REPLACE FUNCTION discount_code_applicable_on_sales() + RETURNS TRIGGER AS $$ + BEGIN + IF NEW.type != '%' THEN + NEW.applicable_on_sales := TRUE; + END IF; + RETURN NEW; + END; +$$ LANGUAGE plpgsql; + +DROP TRIGGER IF EXISTS discount_code_applicable_on_sales ON discount_codes; + +CREATE TRIGGER discount_code_applicable_on_sales + BEFORE INSERT OR UPDATE ON discount_codes + FOR EACH ROW + EXECUTE FUNCTION discount_code_applicable_on_sales();