0023_order_workflow_display_projection.sql (1145B)
1 ALTER TABLE orders 2 ADD COLUMN workflow_agreement TEXT NOT NULL DEFAULT 'ordered' CHECK ( 3 workflow_agreement IN ('ordered', 'confirmed', 'declined', 'cancelled', 'needs_review') 4 ); 5 6 ALTER TABLE orders 7 ADD COLUMN workflow_inventory TEXT NOT NULL DEFAULT 'needs_review' CHECK ( 8 workflow_inventory IN ('available', 'reserved', 'sold_out', 'needs_review') 9 ); 10 11 ALTER TABLE orders 12 ADD COLUMN workflow_provenance_source TEXT NOT NULL DEFAULT 'unknown' CHECK ( 13 workflow_provenance_source IN ('app', 'cli', 'relay', 'local_events', 'unknown') 14 ); 15 16 ALTER TABLE orders 17 ADD COLUMN workflow_provenance_last_event_id TEXT; 18 19 UPDATE orders 20 SET 21 workflow_agreement = CASE status 22 WHEN 'scheduled' THEN 'confirmed' 23 WHEN 'packed' THEN 'confirmed' 24 WHEN 'completed' THEN 'confirmed' 25 WHEN 'declined' THEN 'declined' 26 ELSE 'ordered' 27 END, 28 workflow_inventory = CASE status 29 WHEN 'scheduled' THEN 'reserved' 30 WHEN 'packed' THEN 'reserved' 31 WHEN 'completed' THEN 'reserved' 32 WHEN 'declined' THEN 'available' 33 ELSE 'needs_review' 34 END;