-- +goose Up -- 同一订单同一参与方只允许一条结算明细,防止自动释放与手工批次并发重复入账。 -- 自动释放按 NOT EXISTS 选参与方,并发下两条路径可能同时落明细并各自入账, -- 由该唯一键兜底,写明细失败重复错误时跳过该参与方。 ALTER TABLE distribution_settlement_items ADD UNIQUE KEY uk_distribution_settlement_item_party (order_id, party_id); -- +goose Down ALTER TABLE distribution_settlement_items DROP KEY uk_distribution_settlement_item_party;