Files
apskel-pos-backend/migrations/000094_add_point_payment_method.down.sql
T
efrilmandClaude Opus 5.5 c9654a387a fix(migrations): keep every payment method type in use
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>
2026-09-30 23:00:14 +07:00

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'));