Gleiche ERP Katalog an Shopify an
This commit is contained in:
@@ -0,0 +1,121 @@
|
|||||||
|
BEGIN;
|
||||||
|
|
||||||
|
-- Shopify catalog alignment for the current ERP catalog.
|
||||||
|
-- Historical Wix aliases remain untouched; Shopify aliases are added separately.
|
||||||
|
|
||||||
|
INSERT INTO product (sku, name, status, uom, created_at, updated_at)
|
||||||
|
VALUES (
|
||||||
|
'006',
|
||||||
|
'Cordyceps Extrakt Tinktur 50 ml | 100% rein',
|
||||||
|
'active',
|
||||||
|
'unit',
|
||||||
|
NOW(),
|
||||||
|
NOW()
|
||||||
|
)
|
||||||
|
ON CONFLICT (sku) DO NOTHING;
|
||||||
|
|
||||||
|
-- The existing ERP item carrying the historical 005.01 alias is the
|
||||||
|
-- Lion''s Mane & Chaga item. Its internal code must match its Shopify SKU.
|
||||||
|
UPDATE sellable_item si
|
||||||
|
SET item_code = '005.01',
|
||||||
|
display_name = 'Lion''s Mane & Chaga Extrakt Tinktur | 2 x 50 ml',
|
||||||
|
updated_at = NOW()
|
||||||
|
WHERE si.id = (
|
||||||
|
SELECT eia.sellable_item_id
|
||||||
|
FROM external_item_alias eia
|
||||||
|
WHERE eia.source_system = 'wix'
|
||||||
|
AND eia.external_article_number = '005.01'
|
||||||
|
ORDER BY eia.id
|
||||||
|
LIMIT 1
|
||||||
|
);
|
||||||
|
|
||||||
|
UPDATE sellable_item
|
||||||
|
SET display_name = CASE item_code
|
||||||
|
WHEN '001.01' THEN 'Chaga Extrakt Tinktur 50 ml | 100% rein'
|
||||||
|
WHEN '001.02' THEN 'Chaga Extrakt Tinktur | 2 x 50 ml | 100% rein'
|
||||||
|
WHEN '002.01' THEN 'Lion''s Mane Extrakt Tinktur 50 ml | 100% rein'
|
||||||
|
WHEN '002.02' THEN 'Lion''s Mane Extrakt Tinktur | 2 × 50 ml | 100% rein'
|
||||||
|
WHEN '003.01' THEN 'Reishi Extrakt Tinktur 50 ml | 100% rein'
|
||||||
|
WHEN '003.02' THEN 'Reishi Extrakt Tinktur | 2 x 50 ml | 100% rein'
|
||||||
|
WHEN '004.01' THEN 'Shiitake Extrakt Tinktur 50 ml | 100% rein'
|
||||||
|
WHEN '004.02' THEN 'Shiitake Extrakt Tinktur | 2 x 50 ml | 100% rein'
|
||||||
|
WHEN '005.01' THEN 'Lion''s Mane & Chaga Extrakt Tinktur | 2 x 50 ml'
|
||||||
|
WHEN '005.02' THEN 'Lion''s Mane & Reishi Extrakt Tinktur | 2 x 50 ml'
|
||||||
|
ELSE display_name
|
||||||
|
END,
|
||||||
|
updated_at = NOW()
|
||||||
|
WHERE item_code IN (
|
||||||
|
'001.01', '001.02', '002.01', '002.02', '003.01', '003.02',
|
||||||
|
'004.01', '004.02', '005.01', '005.02'
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO sellable_item (item_code, display_name, status, created_at, updated_at)
|
||||||
|
VALUES
|
||||||
|
('006.01', 'Cordyceps Extrakt Tinktur 50 ml | 100% rein', 'active', NOW(), NOW()),
|
||||||
|
('006.02', 'Cordyceps Extrakt Tinktur 50 ml | 100% rein | 2er Set', 'active', NOW(), NOW())
|
||||||
|
ON CONFLICT (item_code) DO NOTHING;
|
||||||
|
|
||||||
|
INSERT INTO sellable_item_component (
|
||||||
|
sellable_item_id,
|
||||||
|
product_id,
|
||||||
|
qty_per_item,
|
||||||
|
created_at,
|
||||||
|
updated_at
|
||||||
|
)
|
||||||
|
SELECT si.id, p.id, v.qty_per_item, NOW(), NOW()
|
||||||
|
FROM (
|
||||||
|
VALUES ('006.01', 1.0000::NUMERIC), ('006.02', 2.0000::NUMERIC)
|
||||||
|
) AS v(item_code, qty_per_item)
|
||||||
|
JOIN sellable_item si ON si.item_code = v.item_code
|
||||||
|
JOIN product p ON p.sku = '006'
|
||||||
|
WHERE NOT EXISTS (
|
||||||
|
SELECT 1
|
||||||
|
FROM sellable_item_component sic
|
||||||
|
WHERE sic.sellable_item_id = si.id
|
||||||
|
AND sic.product_id = p.id
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Add the Shopify catalog identities without rewriting historical Wix aliases.
|
||||||
|
INSERT INTO external_item_alias (
|
||||||
|
source_system,
|
||||||
|
external_article_number,
|
||||||
|
external_title,
|
||||||
|
title_normalized,
|
||||||
|
sellable_item_id,
|
||||||
|
is_active,
|
||||||
|
created_at,
|
||||||
|
updated_at
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
'shopify',
|
||||||
|
v.sku,
|
||||||
|
v.title,
|
||||||
|
v.title_normalized,
|
||||||
|
si.id,
|
||||||
|
TRUE,
|
||||||
|
NOW(),
|
||||||
|
NOW()
|
||||||
|
FROM (
|
||||||
|
VALUES
|
||||||
|
('001.01', 'Chaga Extrakt Tinktur 50 ml | 100% rein', 'chaga extrakt tinktur 50 ml 100 rein'),
|
||||||
|
('001.02', 'Chaga Extrakt Tinktur | 2 x 50 ml | 100% rein', 'chaga extrakt tinktur 2 x 50 ml 100 rein'),
|
||||||
|
('002.01', 'Lion''s Mane Extrakt Tinktur 50 ml | 100% rein', 'lion s mane extrakt tinktur 50 ml 100 rein'),
|
||||||
|
('002.02', 'Lion''s Mane Extrakt Tinktur | 2 × 50 ml | 100% rein', 'lion s mane extrakt tinktur 2 50 ml 100 rein'),
|
||||||
|
('003.01', 'Reishi Extrakt Tinktur 50 ml | 100% rein', 'reishi extrakt tinktur 50 ml 100 rein'),
|
||||||
|
('003.02', 'Reishi Extrakt Tinktur | 2 x 50 ml | 100% rein', 'reishi extrakt tinktur 2 x 50 ml 100 rein'),
|
||||||
|
('004.01', 'Shiitake Extrakt Tinktur 50 ml | 100% rein', 'shiitake extrakt tinktur 50 ml 100 rein'),
|
||||||
|
('004.02', 'Shiitake Extrakt Tinktur | 2 x 50 ml | 100% rein', 'shiitake extrakt tinktur 2 x 50 ml 100 rein'),
|
||||||
|
('005.01', 'Lion''s Mane & Chaga Extrakt Tinktur | 2 x 50 ml', 'lion s mane chaga extrakt tinktur 2 x 50 ml'),
|
||||||
|
('005.02', 'Lion''s Mane & Reishi Extrakt Tinktur | 2 x 50 ml', 'lion s mane reishi extrakt tinktur 2 x 50 ml'),
|
||||||
|
('006.01', 'Cordyceps Extrakt Tinktur 50 ml | 100% rein', 'cordyceps extrakt tinktur 50 ml 100 rein'),
|
||||||
|
('006.02', 'Cordyceps Extrakt Tinktur 50 ml | 100% rein | 2er Set', 'cordyceps extrakt tinktur 50 ml 100 rein 2er set')
|
||||||
|
) AS v(sku, title, title_normalized)
|
||||||
|
JOIN sellable_item si ON si.item_code = v.sku
|
||||||
|
WHERE NOT EXISTS (
|
||||||
|
SELECT 1
|
||||||
|
FROM external_item_alias eia
|
||||||
|
WHERE eia.source_system = 'shopify'
|
||||||
|
AND eia.external_article_number = v.sku
|
||||||
|
);
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
Reference in New Issue
Block a user