Files
database/migrations/000.380.sql
T

109 lines
7.7 KiB
SQL

-- Add Switzerland sites
-- Add currency
INSERT INTO "i18n-currencies" (iso3char, symbol, fractional_parts, exchange_rate, locale)
VALUES ('CHF', 'fr.', 0, 0.0985, 'de_CH.UTF-8');
INSERT INTO "product-currencies" (iso3char, exchange_rate) VALUES ('CHF', 0.0985);
-- Add locales, market, market locales
INSERT INTO locales (value, name, fallback_id) VALUES
('de_CH', 'German (Switzerland)', (select id from locales where value = 'de_DE')),
('fr_CH', 'French (Switzerland)', (select id from locales where value = 'fr_FR')),
('it_CH', 'Italian (Switzerland)', (select id from locales where value = 'it_IT'));
INSERT INTO markets (name, vat, currency, price_adjustment) VALUES ('CH', 1.077, 'CHF', 1.1);
INSERT INTO market_locales (market_id, locale_id, name) VALUES
((SELECT id FROM markets WHERE name = 'CH'), (SELECT id FROM locales WHERE value = 'de_CH'), 'Switzerland (German)'),
((SELECT id FROM markets WHERE name = 'CH'), (SELECT id FROM locales WHERE value = 'fr_CH'), 'Switzerland (French)'),
((SELECT id FROM markets WHERE name = 'CH'), (SELECT id FROM locales WHERE value = 'it_CH'), 'Switzerland (Italian)');
-- Copy collections
INSERT INTO collections_texts (collection_id, meta_title, meta_description, title, description, slug, locale_id)
SELECT collection_id, meta_title, meta_description, title, description, slug, (SELECT id FROM locales WHERE value = 'de_CH')
FROM collections_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'de_DE');
INSERT INTO collections_texts (collection_id, meta_title, meta_description, title, description, slug, locale_id)
SELECT collection_id, meta_title, meta_description, title, description, slug, (SELECT id FROM locales WHERE value = 'fr_CH')
FROM collections_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'fr_FR');
INSERT INTO collections_texts (collection_id, meta_title, meta_description, title, description, slug, locale_id)
SELECT collection_id, meta_title, meta_description, title, description, slug, (SELECT id FROM locales WHERE value = 'it_CH')
FROM collections_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'it_IT');
-- Copy designer texts
INSERT INTO designer_texts (designerid, header, description, locale_id)
SELECT designerid, header, description, (SELECT id FROM locales WHERE value = 'de_CH')
FROM designer_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'de_DE');
INSERT INTO designer_texts (designerid, header, description, locale_id)
SELECT designerid, header, description, (SELECT id FROM locales WHERE value = 'fr_CH')
FROM designer_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'fr_FR');
INSERT INTO designer_texts (designerid, header, description, locale_id)
SELECT designerid, header, description, (SELECT id FROM locales WHERE value = 'it_CH')
FROM designer_texts WHERE locale_id = (SELECT id FROM locales WHERE value = 'it_IT');
-- Copy category data (page titles, meta descriptions), and category texts
INSERT INTO categorydata (category_id, datakey_id, text, locale_id)
SELECT category_id, datakey_id, text, (SELECT id FROM locales WHERE value = 'de_CH')
FROM categorydata WHERE locale_id = (SELECT id FROM locales WHERE value = 'de_DE');
INSERT INTO categorydata (category_id, datakey_id, text, locale_id)
SELECT category_id, datakey_id, text, (SELECT id FROM locales WHERE value = 'fr_CH')
FROM categorydata WHERE locale_id = (SELECT id FROM locales WHERE value = 'fr_FR');
INSERT INTO categorydata (category_id, datakey_id, text, locale_id)
SELECT category_id, datakey_id, text, (SELECT id FROM locales WHERE value = 'it_CH')
FROM categorydata WHERE locale_id = (SELECT id FROM locales WHERE value = 'it_IT');
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 = 'de_CH'), 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 = 'de_DE');
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 = 'fr_CH'), 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 = 'fr_FR');
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 = 'it_CH'), 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 = 'it_IT');
-- Copy blacklisted products
INSERT INTO product_blacklist (product_id, group_id, market_id)
SELECT product_id, group_id, (select id from markets where name = 'CH')
FROM product_blacklist WHERE market_id = (select id from markets where name = 'GLOBAL');
-- Add delivery methods
INSERT INTO "delivery-methods_prices" (territory, currency, option, option_value, price, method) VALUES
('CH', 'CHF', '', '', 0, (select id from "delivery-methods" where name = 'samplesDelivery')),
('CH', 'CHF', '', '', 0, (select id from "delivery-methods" where name = 'dhlEconomyWorld')),
('CH', 'CHF', '', '', (SELECT 35 / vat FROM markets WHERE name = 'CH'), (select id from "delivery-methods" where name = 'dhl'));
-- Add invoice sequence
CREATE SEQUENCE "order-invoiceIdCH" start 1000;
-- Copy popular links text tags to override the fallback values (because the prefix will be wrong)
INSERT INTO "i18n-texts_data" (textid, text, locale_id)
SELECT textid, replace(text, 'href="/', 'href="/ch-de/'), (select id from locales where value = 'de_CH')
FROM "i18n-texts" join "i18n-texts_data" using (textid)
where name ilike 'popular-links-%' and locale_id = (select id from locales where value = 'de_DE');
INSERT INTO "i18n-texts_data" (textid, text, locale_id)
SELECT textid, replace(text, 'href="/', 'href="/ch-fr/'), (select id from locales where value = 'fr_CH')
FROM "i18n-texts" join "i18n-texts_data" using (textid)
where name ilike 'popular-links-%' and locale_id = (select id from locales where value = 'fr_FR');
INSERT INTO "i18n-texts_data" (textid, text, locale_id)
SELECT textid, replace(text, '/it/', '/ch-it/'), (select id from locales where value = 'it_CH')
FROM "i18n-texts" join "i18n-texts_data" using (textid)
where name ilike 'popular-links-%' and locale_id = (select id from locales where value = 'it_IT');