import { MigrationInterface, QueryRunner } from 'typeorm'; /** * Autoavaliações do Radar de Conformidade — respostas dos 17 itens por * (programa, loja, CNPJ). O diagnóstico não é persistido: é recalculado a * cada leitura, para regra nova de score valer imediatamente. */ export class migration1786752000000 implements MigrationInterface { name = 'migration1786752000000'; public async up(queryRunner: QueryRunner): Promise { await queryRunner.query(` CREATE TABLE IF NOT EXISTS public.radar_assessment ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), create_date timestamp NOT NULL DEFAULT LOCALTIMESTAMP, update_date timestamp NOT NULL DEFAULT LOCALTIMESTAMP, "programId" uuid NOT NULL, "storeId" uuid NOT NULL, "cnpj" varchar(14) NOT NULL, "mode" varchar(16) NOT NULL DEFAULT 'own', "answers" jsonb NOT NULL DEFAULT '{}'::jsonb ); CREATE UNIQUE INDEX IF NOT EXISTS uq_radar_assessment_tenant_cnpj ON public.radar_assessment ("programId","storeId","cnpj"); `); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query(`DROP TABLE IF EXISTS public.radar_assessment;`); } }