import { MigrationInterface, QueryRunner } from 'typeorm'; export class ProductCategory1665595013939 implements MigrationInterface { name = 'ProductCategory1665595013939'; public async up(queryRunner: QueryRunner): Promise { await queryRunner.query(` ALTER TABLE "agg_pro_var_sav_lis_var_agg_pro_var" DROP CONSTRAINT "FK_fece08d28b0795e2102aaa7d9c8" `); await queryRunner.query(` ALTER TABLE "aggregate_product_variant_saves_list_collaborators_users" DROP CONSTRAINT "FK_14e65af39e2b55465b73c25642b" `); await queryRunner.query(` ALTER TABLE "agg_pro_var_sav_lis_var_agg_pro_var" ADD CONSTRAINT "FK_fece08d28b0795e2102aaa7d9c8" FOREIGN KEY ("aggregateProductVariantsId") REFERENCES "aggregate_product_variants"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); await queryRunner.query(` ALTER TABLE "aggregate_product_variant_saves_list_collaborators_users" ADD CONSTRAINT "FK_14e65af39e2b55465b73c25642b" FOREIGN KEY ("usersId") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); await queryRunner.query(` CREATE VIEW "product_categories" AS SELECT category as name, category as id FROM "aggregate_products" "AggregateProduct" WHERE (category IS NOT NULL) AND ("AggregateProduct"."deletedAt" IS NULL) GROUP BY category `); await queryRunner.query( ` INSERT INTO "typeorm_metadata"( "database", "schema", "table", "type", "name", "value" ) VALUES (DEFAULT, $1, DEFAULT, $2, $3, $4) `, [ 'public', 'VIEW', 'product_categories', 'SELECT category as name, category as id FROM "aggregate_products" "AggregateProduct" WHERE ( category IS NOT NULL ) AND ( "AggregateProduct"."deletedAt" IS NULL ) GROUP BY category', ] ); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query( ` DELETE FROM "typeorm_metadata" WHERE "type" = $1 AND "name" = $2 AND "schema" = $3 `, ['VIEW', 'product_categories', 'public'] ); await queryRunner.query(` DROP VIEW "product_categories" `); await queryRunner.query(` ALTER TABLE "aggregate_product_variant_saves_list_collaborators_users" DROP CONSTRAINT "FK_14e65af39e2b55465b73c25642b" `); await queryRunner.query(` ALTER TABLE "agg_pro_var_sav_lis_var_agg_pro_var" DROP CONSTRAINT "FK_fece08d28b0795e2102aaa7d9c8" `); await queryRunner.query(` ALTER TABLE "aggregate_product_variant_saves_list_collaborators_users" ADD CONSTRAINT "FK_14e65af39e2b55465b73c25642b" FOREIGN KEY ("usersId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE `); await queryRunner.query(` ALTER TABLE "agg_pro_var_sav_lis_var_agg_pro_var" ADD CONSTRAINT "FK_fece08d28b0795e2102aaa7d9c8" FOREIGN KEY ("aggregateProductVariantsId") REFERENCES "aggregate_product_variants"("id") ON DELETE CASCADE ON UPDATE CASCADE `); } }