← back to Sanderson Onboard
scripts/load.sql
29 lines
\set ON_ERROR_STOP on
BEGIN;
CREATE TEMP TABLE sload (
mfr_sku varchar, pattern_name varchar, color_name varchar, collection varchar,
image_url text, product_url text, product_type varchar, price_gbp numeric,
currency varchar, settlement_flag varchar, gallery_images text[]
);
\copy sload FROM 'rows.csv' WITH (FORMAT csv, HEADER true)
INSERT INTO sanderson_catalog
(mfr_sku, pattern_name, color_name, collection, image_url, product_url,
product_type, price_gbp, currency, settlement_flag, gallery_images, crawled_at, updated_at)
SELECT mfr_sku, pattern_name, color_name, collection, image_url, product_url,
product_type, price_gbp, currency, settlement_flag, gallery_images, now(), now()
FROM sload
WHERE mfr_sku IS NOT NULL AND mfr_sku <> ''
ON CONFLICT (mfr_sku) DO UPDATE SET
pattern_name = EXCLUDED.pattern_name,
color_name = EXCLUDED.color_name,
collection = EXCLUDED.collection,
image_url = EXCLUDED.image_url,
product_url = EXCLUDED.product_url,
price_gbp = EXCLUDED.price_gbp,
currency = EXCLUDED.currency,
settlement_flag = EXCLUDED.settlement_flag,
gallery_images = EXCLUDED.gallery_images,
updated_at = now();
COMMIT;