From e24a51724f3195461fe15a0f09a0a6c6fa1332bc Mon Sep 17 00:00:00 2001 From: Niklas Fondberg Date: Tue, 3 May 2022 11:13:35 +0200 Subject: [PATCH] Add data model for campaign landing pages (#269) --- migrations/000.370.sql | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 migrations/000.370.sql diff --git a/migrations/000.370.sql b/migrations/000.370.sql new file mode 100644 index 0000000..e8d216a --- /dev/null +++ b/migrations/000.370.sql @@ -0,0 +1,39 @@ +-- Add campaign dynamic landing pages https://github.com/Photowall/Issuetracker/issues/428 + +DROP TABLE IF EXISTS campaign_page_content; +DROP TABLE IF EXISTS campaign_pages; + + +CREATE TABLE IF NOT EXISTS campaign_pages ( + id serial PRIMARY KEY, + inserted timestamp with time zone DEFAULT now() NOT NULL, + published timestamp with time zone, + deleted timestamp with time zone, + name text NOT NULL, + description text NOT NULL +); + +COMMENT ON COLUMN campaign_pages.name IS 'Used as title in admin only'; + + +CREATE TABLE IF NOT EXISTS campaign_page_content ( + id serial PRIMARY KEY, + campaign_page_id integer NOT NULL REFERENCES campaign_pages(id), + inserted timestamp with time zone DEFAULT now() NOT NULL, + updated timestamp with time zone, + title text, + body text, + meta_title text, + meta_description text, + slug text, + market_locale_id integer NOT NULL REFERENCES market_locales(id), + noindex boolean DEFAULT false +); + + +CREATE INDEX ON campaign_page_content(campaign_page_id); +CREATE INDEX ON campaign_page_content(market_locale_id); + + +CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public.campaign_pages FOR EACH ROW EXECUTE PROCEDURE public.updated_timestamp(); +CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public.campaign_page_content FOR EACH ROW EXECUTE PROCEDURE public.updated_timestamp(); \ No newline at end of file