Production allows edc and delivery payment methods through a payment_methods_type_check changed outside the migrations, and has rows of both. 000094 rewrote the constraint with only cash, card, digital_wallet and point, so it failed on production (in its transaction, leaving the database dirty at 94 with nothing applied). 000094 now keeps edc and delivery, down included, and also allows qr, which the code accepts but no constraint did. 000098 sets the same list where the old 000094 already ran, as on staging. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 lines
759 B
SQL
17 lines
759 B
SQL
ALTER TABLE payments
|
|
DROP CONSTRAINT IF EXISTS chk_payments_point_pair,
|
|
DROP COLUMN IF EXISTS point_value,
|
|
DROP COLUMN IF EXISTS points_used;
|
|
|
|
DROP TRIGGER IF EXISTS trigger_create_point_payment_method ON organizations;
|
|
DROP FUNCTION IF EXISTS create_point_payment_method();
|
|
|
|
-- Fails if an EnakPoint method has been used by a payment, which is the point: those
|
|
-- payments would lose their method.
|
|
DELETE FROM payment_methods WHERE type = 'point';
|
|
DROP INDEX IF EXISTS uq_payment_methods_point_per_organization;
|
|
|
|
ALTER TABLE payment_methods DROP CONSTRAINT IF EXISTS payment_methods_type_check;
|
|
ALTER TABLE payment_methods ADD CONSTRAINT payment_methods_type_check
|
|
CHECK (type IN ('cash', 'card', 'digital_wallet', 'qr', 'edc', 'delivery'));
|