fix(sqlite): update customer_name on upsert, not just on insert
customer_name was only set on INSERT but not updated on ON CONFLICT, so re-synced orders kept the old (wrong) customer name. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -65,6 +65,7 @@ async def upsert_order(sync_run_id: str, order_number: str, order_date: str,
|
|||||||
delivery_cost, discount_total)
|
delivery_cost, discount_total)
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
ON CONFLICT(order_number) DO UPDATE SET
|
ON CONFLICT(order_number) DO UPDATE SET
|
||||||
|
customer_name = excluded.customer_name,
|
||||||
status = CASE
|
status = CASE
|
||||||
WHEN orders.status = 'IMPORTED' AND excluded.status = 'ALREADY_IMPORTED'
|
WHEN orders.status = 'IMPORTED' AND excluded.status = 'ALREADY_IMPORTED'
|
||||||
THEN orders.status
|
THEN orders.status
|
||||||
@@ -133,6 +134,7 @@ async def save_orders_batch(orders_data: list[dict]):
|
|||||||
delivery_cost, discount_total)
|
delivery_cost, discount_total)
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
ON CONFLICT(order_number) DO UPDATE SET
|
ON CONFLICT(order_number) DO UPDATE SET
|
||||||
|
customer_name = excluded.customer_name,
|
||||||
status = CASE
|
status = CASE
|
||||||
WHEN orders.status = 'IMPORTED' AND excluded.status = 'ALREADY_IMPORTED'
|
WHEN orders.status = 'IMPORTED' AND excluded.status = 'ALREADY_IMPORTED'
|
||||||
THEN orders.status
|
THEN orders.status
|
||||||
|
|||||||
Reference in New Issue
Block a user