Files
qipai/database/migrations/2026081006_m09c_cleaning_settlement_integrity.down.sql
T

44 lines
1.6 KiB
SQL

DELETE FROM qipai_schema_migrations WHERE version = '2026081006';
ALTER TABLE qipai_cleaning_settlement_items
DROP FOREIGN KEY fk_qipai_cleaning_settlement_items_reversal;
DELETE reversed
FROM qipai_cleaning_settlement_items reversed
INNER JOIN qipai_cleaning_settlement_items active
ON active.tenant_id = reversed.tenant_id
AND active.task_id = reversed.task_id
AND active.cleaner_user_id = reversed.cleaner_user_id
AND active.reversed_at IS NULL
WHERE reversed.reversed_at IS NOT NULL;
DELETE older
FROM qipai_cleaning_settlement_items older
INNER JOIN qipai_cleaning_settlement_items newer
ON newer.tenant_id = older.tenant_id
AND newer.task_id = older.task_id
AND newer.cleaner_user_id = older.cleaner_user_id
AND newer.id > older.id
WHERE older.reversed_at IS NOT NULL AND newer.reversed_at IS NOT NULL;
ALTER TABLE qipai_cleaning_settlement_items
DROP INDEX uq_qipai_cleaning_settlement_active_share,
DROP INDEX idx_qipai_cleaning_settlement_item_reversal,
DROP COLUMN active_share_key,
DROP COLUMN reversed_at,
DROP COLUMN reversal_id,
ADD UNIQUE KEY uq_qipai_cleaning_settlement_item_task_user
(tenant_id, task_id, cleaner_user_id);
ALTER TABLE qipai_cleaning_settlements
DROP FOREIGN KEY fk_qipai_cleaning_settlements_cancelled_by,
DROP INDEX idx_qipai_cleaning_settlement_cancelled,
DROP INDEX uq_qipai_cleaning_settlement_payout_request,
DROP COLUMN payout_request_key,
DROP COLUMN payout_request_no,
DROP COLUMN cancelled_at,
DROP COLUMN cancelled_by;
DROP TABLE IF EXISTS qipai_cleaning_settlement_events;
DROP TABLE IF EXISTS qipai_cleaning_settlement_reversals;