feat(execution): reconcile timed-out orders safely
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
-- GitHub #58: persist the effective timeout's immutable dispatch anchor and
|
||||
-- original KST order date separately from mutable row bookkeeping. Existing
|
||||
-- dispatched rows deliberately remain NULL: updated_at/created_at are mutable
|
||||
-- bookkeeping and cannot prove the original submission timestamp or order day.
|
||||
-- Runtime keeps those legacy rows fail-closed and raises a sanitized alarm.
|
||||
ALTER TABLE daily_slot
|
||||
ADD COLUMN IF NOT EXISTS order_submitted_at TIMESTAMPTZ;
|
||||
|
||||
ALTER TABLE daily_slot
|
||||
ADD COLUMN IF NOT EXISTS order_date TEXT;
|
||||
|
||||
ALTER TABLE daily_slot
|
||||
ADD COLUMN IF NOT EXISTS cancel_attempts INTEGER NOT NULL DEFAULT 0;
|
||||
|
||||
ALTER TABLE daily_slot
|
||||
DROP CONSTRAINT IF EXISTS daily_slot_order_date_check;
|
||||
|
||||
ALTER TABLE daily_slot
|
||||
ADD CONSTRAINT daily_slot_order_date_check
|
||||
CHECK (order_date IS NULL OR order_date ~ '^[0-9]{8}$');
|
||||
|
||||
ALTER TABLE daily_slot
|
||||
DROP CONSTRAINT IF EXISTS daily_slot_cancel_attempts_check;
|
||||
|
||||
ALTER TABLE daily_slot
|
||||
ADD CONSTRAINT daily_slot_cancel_attempts_check
|
||||
CHECK (cancel_attempts >= 0);
|
||||
Reference in New Issue
Block a user