import { MigrationInterface, QueryRunner } from 'typeorm'; export class PhaseD21SingleActPerVisit1787072400000 implements MigrationInterface { name = 'PhaseD21SingleActPerVisit1787072400000'; public async up(queryRunner: QueryRunner): Promise { await queryRunner.query(` DO $$ BEGIN IF EXISTS ( SELECT visit_id FROM inspection_acts GROUP BY visit_id HAVING COUNT(*) > 1 ) THEN RAISE EXCEPTION 'D2.1 no puede aplicar un acta por visita: existen visitas con actas duplicadas'; END IF; END $$ `); await queryRunner.query(` ALTER TABLE inspection_acts ADD CONSTRAINT uq_inspection_acts_visit UNIQUE (visit_id) `); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query(` ALTER TABLE inspection_acts DROP CONSTRAINT uq_inspection_acts_visit `); } }