Files
dh-inspeccion-v2/api-v3/src/database/migrations/1787072400000-phase-d2-1-single-act-per-visit.ts
T

35 lines
953 B
TypeScript

import { MigrationInterface, QueryRunner } from 'typeorm';
export class PhaseD21SingleActPerVisit1787072400000 implements MigrationInterface {
name = 'PhaseD21SingleActPerVisit1787072400000';
public async up(queryRunner: QueryRunner): Promise<void> {
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<void> {
await queryRunner.query(`
ALTER TABLE inspection_acts
DROP CONSTRAINT uq_inspection_acts_visit
`);
}
}