import { MigrationInterface, QueryRunner } from 'typeorm'; export class AggregateProductVariantSavesList1663355844574 implements MigrationInterface { name = 'AggregateProductVariantSavesList1663355844574'; public async up(queryRunner: QueryRunner): Promise { await queryRunner.query(` CREATE TABLE "aggregate_product_variants" ( "id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "identifiers" text array NOT NULL DEFAULT '{}', "discoverable" boolean, "asin" text, "dimensions" text, "colorCode" text, "annotations" text, "description" text, "name" text, "price" double precision NOT NULL, "isAvailable" boolean, "distributor" text, "distributorSKU" text, "imageUrls" text array NOT NULL DEFAULT '{}', "productsId" uuid, CONSTRAINT "PK_1bef5d5b70fc228d77e1bda0b11" PRIMARY KEY ("id") ) `); await queryRunner.query(` CREATE INDEX "IDX_50b7fc73aed808f3e5e38c5586" ON "aggregate_product_variants" ("identifiers") `); await queryRunner.query(` CREATE TABLE "aggregate_product_variant_saves_list" ( "id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "createdById" uuid NOT NULL, CONSTRAINT "PK_fb2d939aa77a829d7fc304531fd" PRIMARY KEY ("id") ) `); await queryRunner.query(` CREATE TABLE "agg_pro_var_sav_lis_var_agg_pro_var" ( "aggregateProductVariantSavesListId" uuid NOT NULL, "aggregateProductVariantsId" uuid NOT NULL, CONSTRAINT "PK_e09f6754b8338d58ea04e006058" PRIMARY KEY ( "aggregateProductVariantSavesListId", "aggregateProductVariantsId" ) ) `); await queryRunner.query(` CREATE INDEX "IDX_384badce3addcc8d7094cf2ec6" ON "agg_pro_var_sav_lis_var_agg_pro_var" ("aggregateProductVariantSavesListId") `); await queryRunner.query(` CREATE INDEX "IDX_fece08d28b0795e2102aaa7d9c" ON "agg_pro_var_sav_lis_var_agg_pro_var" ("aggregateProductVariantsId") `); await queryRunner.query(` CREATE TABLE "aggregate_product_variant_saves_list_collaborators_users" ( "aggregateProductVariantSavesListId" uuid NOT NULL, "usersId" uuid NOT NULL, CONSTRAINT "PK_b4c3954e4ab5ea659753c9d3e39" PRIMARY KEY ("aggregateProductVariantSavesListId", "usersId") ) `); await queryRunner.query(` CREATE INDEX "IDX_48b3ad98ff0164943718bcc348" ON "aggregate_product_variant_saves_list_collaborators_users" ("aggregateProductVariantSavesListId") `); await queryRunner.query(` CREATE INDEX "IDX_14e65af39e2b55465b73c25642" ON "aggregate_product_variant_saves_list_collaborators_users" ("usersId") `); await queryRunner.query(` ALTER TABLE "aggregate_product_variants" ADD CONSTRAINT "FK_09903fd293ff73f7a69aa038adf" FOREIGN KEY ("productsId") REFERENCES "aggregate_products"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); await queryRunner.query(` ALTER TABLE "aggregate_product_variant_saves_list" ADD CONSTRAINT "FK_10bf665dfd2d01e85335bc0841f" FOREIGN KEY ("createdById") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); await queryRunner.query(` ALTER TABLE "agg_pro_var_sav_lis_var_agg_pro_var" ADD CONSTRAINT "FK_384badce3addcc8d7094cf2ec68" FOREIGN KEY ("aggregateProductVariantSavesListId") REFERENCES "aggregate_product_variant_saves_list"("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 `); await queryRunner.query(` ALTER TABLE "aggregate_product_variant_saves_list_collaborators_users" ADD CONSTRAINT "FK_48b3ad98ff0164943718bcc3481" FOREIGN KEY ("aggregateProductVariantSavesListId") REFERENCES "aggregate_product_variant_saves_list"("id") ON DELETE CASCADE ON UPDATE CASCADE `); 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 `); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query(` ALTER TABLE "aggregate_product_variant_saves_list_collaborators_users" DROP CONSTRAINT "FK_14e65af39e2b55465b73c25642b" `); await queryRunner.query(` ALTER TABLE "aggregate_product_variant_saves_list_collaborators_users" DROP CONSTRAINT "FK_48b3ad98ff0164943718bcc3481" `); await queryRunner.query(` ALTER TABLE "agg_pro_var_sav_lis_var_agg_pro_var" DROP CONSTRAINT "FK_fece08d28b0795e2102aaa7d9c8" `); await queryRunner.query(` ALTER TABLE "agg_pro_var_sav_lis_var_agg_pro_var" DROP CONSTRAINT "FK_384badce3addcc8d7094cf2ec68" `); await queryRunner.query(` ALTER TABLE "aggregate_product_variant_saves_list" DROP CONSTRAINT "FK_10bf665dfd2d01e85335bc0841f" `); await queryRunner.query(` ALTER TABLE "aggregate_product_variants" DROP CONSTRAINT "FK_09903fd293ff73f7a69aa038adf" `); await queryRunner.query(` DROP INDEX "public"."IDX_14e65af39e2b55465b73c25642" `); await queryRunner.query(` DROP INDEX "public"."IDX_48b3ad98ff0164943718bcc348" `); await queryRunner.query(` DROP TABLE "aggregate_product_variant_saves_list_collaborators_users" `); await queryRunner.query(` DROP INDEX "public"."IDX_fece08d28b0795e2102aaa7d9c" `); await queryRunner.query(` DROP INDEX "public"."IDX_384badce3addcc8d7094cf2ec6" `); await queryRunner.query(` DROP TABLE "agg_pro_var_sav_lis_var_agg_pro_var" `); await queryRunner.query(` DROP TABLE "aggregate_product_variant_saves_list" `); await queryRunner.query(` DROP INDEX "public"."IDX_50b7fc73aed808f3e5e38c5586" `); await queryRunner.query(` DROP TABLE "aggregate_product_variants" `); } }