Files
mercadodevida/project/migrations/053_reporting_payment_line_checks.js
2026-08-22 19:30:45 +02:00

29 lines
965 B
JavaScript

/** @param {import('node-pg-migrate').MigrationBuilder} pgm */
exports.shorthands = undefined;
exports.up = (pgm) => {
pgm.sql(`
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'reporting_payment_lines_eur_only') THEN
ALTER TABLE reporting_payment_lines
ADD CONSTRAINT reporting_payment_lines_eur_only CHECK (currency = 'EUR');
END IF;
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'reporting_payment_lines_valid_status') THEN
ALTER TABLE reporting_payment_lines
ADD CONSTRAINT reporting_payment_lines_valid_status
CHECK (status IN ('payment', 'refund', 'partial_refund'));
END IF;
END
$$ LANGUAGE plpgsql;
`);
};
exports.down = (pgm) => {
pgm.sql(`
ALTER TABLE reporting_payment_lines
DROP CONSTRAINT IF EXISTS reporting_payment_lines_valid_status,
DROP CONSTRAINT IF EXISTS reporting_payment_lines_eur_only;
`);
};