From d06227d28e932d85f9f2609699576859c14a9e12 Mon Sep 17 00:00:00 2001 From: Niklas Fondberg Date: Thu, 28 Apr 2022 10:23:23 +0200 Subject: [PATCH] Add singapore, australia and ireland (#267) Co-authored-by: Fredrik Ringqvist --- migrations/000.369.sql | 196 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 migrations/000.369.sql diff --git a/migrations/000.369.sql b/migrations/000.369.sql new file mode 100644 index 0000000..232c31e --- /dev/null +++ b/migrations/000.369.sql @@ -0,0 +1,196 @@ +-- Add singapore, austrialia, ireland + + +-- Add locales +INSERT INTO locales (value, name, fallback_id) VALUES ('en_IE', 'English (Ireland)', 3); +INSERT INTO locales (value, name, fallback_id) VALUES ('en_SG', 'English (Singapore)', 3); +INSERT INTO locales (value, name, fallback_id) VALUES ('en_AU', 'English (Australia)', 3); + +-- Add markets +INSERT INTO markets (name, vat, currency, price_adjustment) VALUES ('IE', 1.23, 'EUR', 1.15); +INSERT INTO markets (name, vat, currency, price_adjustment) VALUES ('SG', 1.07, 'USD', 1.13); +INSERT INTO markets (name, vat, currency, price_adjustment) VALUES ('AU', 1.10, 'AUD', 1.13); + + + +-- insert kopplingstabell +INSERT INTO market_locales (market_id, locale_id, name) + VALUES ((SELECT id FROM markets WHERE name = 'IE'), + (SELECT id FROM locales WHERE value = 'en_IE'), + 'Ireland'); + +INSERT INTO market_locales (market_id, locale_id, name) + VALUES ((SELECT id FROM markets WHERE name = 'SG'), + (SELECT id FROM locales WHERE value = 'en_SG'), + 'Singapore'); + +INSERT INTO market_locales (market_id, locale_id, name) + VALUES ((SELECT id FROM markets WHERE name = 'AU'), + (SELECT id FROM locales WHERE value = 'en_AU'), + 'Australia'); + + +-- collection_texts +INSERT INTO collections_texts + (locale_id, collection_id, meta_title, meta_description, title, description, slug) + SELECT + (SELECT id FROM locales WHERE value = 'en_IE'), collection_id, meta_title, meta_description, title, description, slug + FROM collections_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + + +INSERT INTO collections_texts + (locale_id, collection_id, meta_title, meta_description, title, description, slug) + SELECT + (SELECT id FROM locales WHERE value = 'en_SG'), collection_id, meta_title, meta_description, title, description, slug + FROM collections_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + + +INSERT INTO collections_texts + (locale_id, collection_id, meta_title, meta_description, title, description, slug) + SELECT + (SELECT id FROM locales WHERE value = 'en_AU'), collection_id, meta_title, meta_description, title, description, slug + FROM collections_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + + +-- designer texts +INSERT INTO designer_texts (locale_id, designerid, header, description) + SELECT + (SELECT id FROM locales WHERE value = 'en_IE'), designerid, header, description + FROM designer_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + +INSERT INTO designer_texts (locale_id, designerid, header, description) + SELECT + (SELECT id FROM locales WHERE value = 'en_SG'), designerid, header, description + FROM designer_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + +INSERT INTO designer_texts (locale_id, designerid, header, description) + SELECT + (SELECT id FROM locales WHERE value = 'en_AU'), designerid, header, description + FROM designer_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + + + + +-- categorydata +INSERT INTO categorydata (locale_id, category_id, datakey_id, text) + SELECT + (SELECT id FROM locales WHERE value = 'en_IE'), category_id, datakey_id, text + FROM categorydata WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + + +INSERT INTO categorydata (locale_id, category_id, datakey_id, text) + SELECT + (SELECT id FROM locales WHERE value = 'en_SG'), category_id, datakey_id, text + FROM categorydata WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + +INSERT INTO categorydata (locale_id, category_id, datakey_id, text) + SELECT + (SELECT id FROM locales WHERE value = 'en_AU'), category_id, datakey_id, text + FROM categorydata WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + + +-- category_texts +INSERT INTO category_texts (locale_id, category_id, wallpaper_name, wallpaper_h1, wallpaper_description, canvas_name, canvas_h1, canvas_description, name, design_wallpaper_h1, design_wallpaper_description, poster_name, poster_h1, poster_description, framed_print_name, framed_print_h1, framed_print_description) + SELECT + (SELECT id FROM locales WHERE value = 'en_IE'), category_id, wallpaper_name, wallpaper_h1, wallpaper_description, canvas_name, canvas_h1, canvas_description, name, design_wallpaper_h1, design_wallpaper_description, poster_name, poster_h1, poster_description, framed_print_name, framed_print_h1, framed_print_description + FROM category_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + +INSERT INTO category_texts (locale_id, category_id, wallpaper_name, wallpaper_h1, wallpaper_description, canvas_name, canvas_h1, canvas_description, name, design_wallpaper_h1, design_wallpaper_description, poster_name, poster_h1, poster_description, framed_print_name, framed_print_h1, framed_print_description) + SELECT + (SELECT id FROM locales WHERE value = 'en_SG'), category_id, wallpaper_name, wallpaper_h1, wallpaper_description, canvas_name, canvas_h1, canvas_description, name, design_wallpaper_h1, design_wallpaper_description, poster_name, poster_h1, poster_description, framed_print_name, framed_print_h1, framed_print_description + FROM category_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + +INSERT INTO category_texts (locale_id, category_id, wallpaper_name, wallpaper_h1, wallpaper_description, canvas_name, canvas_h1, canvas_description, name, design_wallpaper_h1, design_wallpaper_description, poster_name, poster_h1, poster_description, framed_print_name, framed_print_h1, framed_print_description) + SELECT + (SELECT id FROM locales WHERE value = 'en_AU'), category_id, wallpaper_name, wallpaper_h1, wallpaper_description, canvas_name, canvas_h1, canvas_description, name, design_wallpaper_h1, design_wallpaper_description, poster_name, poster_h1, poster_description, framed_print_name, framed_print_h1, framed_print_description + FROM category_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'en_GB'); + + + + +-- Blacklist from global +delete from product_blacklist where market_id = (select id from markets where name = 'IE'); +delete from product_blacklist where market_id = (select id from markets where name = 'SG'); +delete from product_blacklist where market_id = (select id from markets where name = 'AU'); + +INSERT INTO product_blacklist (product_id, group_id, market_id) + SELECT product_id, group_id, (select id from markets where name = 'IE') + FROM product_blacklist + where market_id = (select id from markets where name = 'GLOBAL'); + +INSERT INTO product_blacklist (product_id, group_id, market_id) + SELECT product_id, group_id, (select id from markets where name = 'SG') + FROM product_blacklist + where market_id = (select id from markets where name = 'GLOBAL'); + +INSERT INTO product_blacklist (product_id, group_id, market_id) + SELECT product_id, group_id, (select id from markets where name = 'AU') + FROM product_blacklist + where market_id = (select id from markets where name = 'GLOBAL'); + + +-- Populate listprices from global (will later be regenerated by update listprice script) +INSERT INTO listprices (printproduct_id, market_id, listprice) + SELECT printproduct_id, (select id from markets where name = 'IE'), listprice + FROM listprices + WHERE market_id = (select id from markets where name = 'GLOBAL') ON CONFLICT DO NOTHING; + +INSERT INTO listprices (printproduct_id, market_id, listprice) + SELECT printproduct_id, (select id from markets where name = 'SG'), listprice + FROM listprices + WHERE market_id = (select id from markets where name = 'GLOBAL') ON CONFLICT DO NOTHING; + +INSERT INTO listprices (printproduct_id, market_id, listprice) + SELECT printproduct_id, (select id from markets where name = 'AU'), listprice + FROM listprices + WHERE market_id = (select id from markets where name = 'GLOBAL') ON CONFLICT DO NOTHING; + +-- insert new currencies. +INSERT INTO "i18n-currencies" +(iso3char, symbol, fractional_parts, exchange_rate, locale) +VALUES ('AUD', '$', 0, 0.13, 'en_AU.UTF-8'); + +INSERT INTO "product-currencies" (iso3char, exchange_rate) VALUES ('AUD', 0.13); + + +-- Review existing delivery methods before deleting: +-- select method, name, territory, currency, price from "delivery-methods_prices" join "delivery-methods" on method=id where territory = 'IE' and currency = 'EUR'; + +-- Delete existing methods that may no longer be relevant +DELETE FROM "delivery-methods_prices" WHERE territory = 'AU' AND currency = 'AUD'; +DELETE FROM "delivery-methods_prices" WHERE territory = 'IE' AND currency = 'EUR'; +DELETE FROM "delivery-methods_prices" WHERE territory = 'SG' AND currency = 'USD'; + +-- Add delivery methods +INSERT INTO "delivery-methods_prices" (territory, currency, option, option_value, price, method) VALUES + ('AU', 'AUD', '', '', 0, (select id from "delivery-methods" where name = 'samplesDelivery')), + ('AU', 'AUD', '', '', (SELECT 9 / vat FROM markets WHERE name = 'AU'), 10), -- dhl + ('SG', 'USD', '', '', 0, (select id from "delivery-methods" where name = 'samplesDelivery')), + ('SG', 'USD', '', '', (SELECT 42 / vat FROM markets WHERE name = 'SG'), 10), -- dhl + ('IE', 'EUR', '', '', 0, (select id from "delivery-methods" where name = 'samplesDelivery')), + ('IE', 'EUR', '', '', (SELECT 7 / vat FROM markets WHERE name = 'IE'), 14), -- dhlExpress + ('IE', 'EUR', '', '', 0, 15) -- dhlEconomyEU +; + + +-- Invoice sequences +CREATE SEQUENCE "order-invoiceIdIE" start 1000; +CREATE SEQUENCE "order-invoiceIdSG" start 1000; +CREATE SEQUENCE "order-invoiceIdAU" start 1000; + + +-- Copy popular links text tags to override the fallback values with incorrect prefixes +INSERT INTO "i18n-texts_data" (textid, text, locale_id) + SELECT textid, replace(text, '/us/', '/au/'), (select id from locales where value = 'en_AU') + from "i18n-texts" join "i18n-texts_data" using (textid) + where name ilike 'popular-links-%' and locale_id = (select id from locales where value = 'en_US'); + +INSERT INTO "i18n-texts_data" (textid, text, locale_id) + SELECT textid, replace(text, '/us/', '/sg/'), (select id from locales where value = 'en_SG') + from "i18n-texts" join "i18n-texts_data" using (textid) + where name ilike 'popular-links-%' and locale_id = (select id from locales where value = 'en_US'); + +INSERT INTO "i18n-texts_data" (textid, text, locale_id) + SELECT textid, replace(text, '/us/', '/ie/'), (select id from locales where value = 'en_IE') + from "i18n-texts" join "i18n-texts_data" using (textid) + where name ilike 'popular-links-%' and locale_id = (select id from locales where value = 'en_US');