update
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
-- Phase 90: Add delivery_price column and backfill from import JSON data
|
||||
-- Column was in CREATE TABLE migration but table predates it — add if missing
|
||||
|
||||
ALTER TABLE orders ADD COLUMN delivery_price DECIMAL(12,2) NULL AFTER total_paid;
|
||||
|
||||
-- Allegro: delivery_cost stored as object {amount, currency} in preferences_json
|
||||
UPDATE orders
|
||||
SET delivery_price = CAST(JSON_UNQUOTE(JSON_EXTRACT(preferences_json, '$.delivery_cost.amount')) AS DECIMAL(12,2))
|
||||
WHERE source = 'allegro'
|
||||
AND delivery_price IS NULL
|
||||
AND preferences_json IS NOT NULL
|
||||
AND JSON_EXTRACT(preferences_json, '$.delivery_cost.amount') IS NOT NULL;
|
||||
|
||||
-- Allegro fallback: delivery_cost stored as plain number (edge case)
|
||||
UPDATE orders
|
||||
SET delivery_price = CAST(JSON_UNQUOTE(JSON_EXTRACT(preferences_json, '$.delivery_cost')) AS DECIMAL(12,2))
|
||||
WHERE source = 'allegro'
|
||||
AND delivery_price IS NULL
|
||||
AND preferences_json IS NOT NULL
|
||||
AND JSON_EXTRACT(preferences_json, '$.delivery_cost') IS NOT NULL
|
||||
AND JSON_TYPE(JSON_EXTRACT(preferences_json, '$.delivery_cost')) != 'OBJECT';
|
||||
|
||||
-- shopPRO: transport_cost / delivery_cost / shipping.cost in payload_json
|
||||
UPDATE orders
|
||||
SET delivery_price = COALESCE(
|
||||
CAST(NULLIF(JSON_UNQUOTE(JSON_EXTRACT(payload_json, '$.transport_cost')), 'null') AS DECIMAL(12,2)),
|
||||
CAST(NULLIF(JSON_UNQUOTE(JSON_EXTRACT(payload_json, '$.delivery_cost')), 'null') AS DECIMAL(12,2)),
|
||||
CAST(NULLIF(JSON_UNQUOTE(JSON_EXTRACT(payload_json, '$.shipping.cost')), 'null') AS DECIMAL(12,2))
|
||||
)
|
||||
WHERE source = 'shoppro'
|
||||
AND delivery_price IS NULL
|
||||
AND payload_json IS NOT NULL;
|
||||
Reference in New Issue
Block a user