33 lines
1.5 KiB
PL/PgSQL
33 lines
1.5 KiB
PL/PgSQL
-- Persist the evidence needed to reconcile an order draft with e-conomic.
|
|
BEGIN;
|
|
|
|
ALTER TABLE ordre_drafts
|
|
ADD COLUMN IF NOT EXISTS economic_export_id VARCHAR(120),
|
|
ADD COLUMN IF NOT EXISTS economic_order_url TEXT,
|
|
ADD COLUMN IF NOT EXISTS exported_economic_customer_number VARCHAR(80),
|
|
ADD COLUMN IF NOT EXISTS exported_currency VARCHAR(3),
|
|
ADD COLUMN IF NOT EXISTS exported_layout_number INTEGER,
|
|
ADD COLUMN IF NOT EXISTS exported_net_amount NUMERIC(18,2),
|
|
ADD COLUMN IF NOT EXISTS export_request_json JSONB,
|
|
ADD COLUMN IF NOT EXISTS export_response_json JSONB,
|
|
ADD COLUMN IF NOT EXISTS exported_created_products JSONB NOT NULL DEFAULT '[]'::jsonb,
|
|
ADD COLUMN IF NOT EXISTS last_export_error TEXT,
|
|
ADD COLUMN IF NOT EXISTS exported_by_user_id INTEGER REFERENCES users(user_id) ON DELETE SET NULL;
|
|
|
|
ALTER TABLE ordre_drafts DROP CONSTRAINT IF EXISTS ordre_drafts_sync_status_check;
|
|
ALTER TABLE ordre_drafts ADD CONSTRAINT ordre_drafts_sync_status_check
|
|
CHECK (sync_status IN ('pending', 'uncertain', 'exported', 'failed', 'posted', 'paid'));
|
|
|
|
UPDATE ordre_drafts
|
|
SET sync_status = 'uncertain',
|
|
last_export_error = COALESCE(last_export_error, 'Tidligere eksport: eksport markeret gennemført uden gemt e-conomic-ordrenummer; afstem manuelt før ny eksport')
|
|
WHERE sync_status IN ('exported', 'posted', 'paid')
|
|
AND economic_order_number IS NULL;
|
|
|
|
UPDATE ordre_drafts
|
|
SET title = 'Abonnementer'
|
|
WHERE invoice_aggregate_key LIKE 'also-cloud-%'
|
|
AND title LIKE 'ALSO Cloud %';
|
|
|
|
COMMIT;
|