import { MigrationInterface, QueryRunner } from 'typeorm'; export class MakeProductPointersNonNullable1664272824381 implements MigrationInterface { name = 'MakeProductPointersNonNullable1664272824381'; public async up(queryRunner: QueryRunner): Promise { await queryRunner.query(` ALTER TYPE "public"."raw_retailer_product_kind_enum" RENAME TO "raw_retailer_product_kind_enum_old" `); await queryRunner.query(` CREATE TYPE "public"."raw_retailer_product_kind_enum" AS ENUM( 'ALL_MODERN', 'AMARA', 'AMAZON', 'ASHLEY_FURNITURE', 'BELLACOR', 'BIRCH_LANE', 'BLOOMINGDALES', 'BURKE_DECOR', 'COLEMAN_FURNITURE', 'CRATE_AND_BARREL', 'DOT_AND_BO', 'EMMA_MASON', 'ENGLISH_ELM', 'GRAYS_ON_LUXURY ', 'HIGH_FASHION_HOME', 'HOUZZ', 'HSM', 'INTERIOR_HOME_SCAPES', 'JC_PENNY', 'JOSS_AND_MAIN', 'KATHY_KUO_HOME', 'KOHLS', 'LAYLA_GRAYCE', 'LULU_AND_GEORGIA', 'MACYS', 'MAKER_AND_MOSS', 'NEIMAN_MARCUS', 'ONE_KINGS_LANE', 'ONE_STOP_BEDROOMS', 'PAYNES_GRAY', 'PERIGOLD', 'PIER1_IMPORTS', 'POTTERY_BARN', 'RAYMOUR_AND_FLANIGAN', 'RC_WILLEY', 'SAKS_FIFTH_AVENUE', 'SCOUT_AND_NIMBLE', 'SEARS', 'TARGET', 'TOP_MODERN', 'URBAN_OUTFITTERS', 'WAYFAIR', 'WEST_ELM', 'WORLD_MARKET' ) `); await queryRunner.query(` ALTER TABLE "raw_retailer_product" ALTER COLUMN "kind" TYPE "public"."raw_retailer_product_kind_enum" USING "kind"::"text"::"public"."raw_retailer_product_kind_enum" `); await queryRunner.query(` DROP TYPE "public"."raw_retailer_product_kind_enum_old" `); await queryRunner.query(` ALTER TABLE "retailer_products" DROP CONSTRAINT "FK_87839253e3642f882e0f2225f7a" `); await queryRunner.query(` ALTER TABLE "retailer_products" ALTER COLUMN "aggregateProductId" SET NOT NULL `); await queryRunner.query(` ALTER TABLE "product_variants" DROP CONSTRAINT "FK_f515690c571a03400a9876600b5" `); await queryRunner.query(` ALTER TABLE "product_variants" ALTER COLUMN "productId" SET NOT NULL `); await queryRunner.query(` ALTER TABLE "retailer_products" ADD CONSTRAINT "FK_87839253e3642f882e0f2225f7a" FOREIGN KEY ("aggregateProductId") REFERENCES "aggregate_products"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); await queryRunner.query(` ALTER TABLE "product_variants" ADD CONSTRAINT "FK_f515690c571a03400a9876600b5" FOREIGN KEY ("productId") REFERENCES "aggregate_products"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query(` ALTER TABLE "product_variants" DROP CONSTRAINT "FK_f515690c571a03400a9876600b5" `); await queryRunner.query(` ALTER TABLE "retailer_products" DROP CONSTRAINT "FK_87839253e3642f882e0f2225f7a" `); await queryRunner.query(` ALTER TABLE "product_variants" ALTER COLUMN "productId" DROP NOT NULL `); await queryRunner.query(` ALTER TABLE "product_variants" ADD CONSTRAINT "FK_f515690c571a03400a9876600b5" FOREIGN KEY ("productId") REFERENCES "aggregate_products"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); await queryRunner.query(` ALTER TABLE "retailer_products" ALTER COLUMN "aggregateProductId" DROP NOT NULL `); await queryRunner.query(` ALTER TABLE "retailer_products" ADD CONSTRAINT "FK_87839253e3642f882e0f2225f7a" FOREIGN KEY ("aggregateProductId") REFERENCES "aggregate_products"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); await queryRunner.query(` CREATE TYPE "public"."raw_retailer_product_kind_enum_old" AS ENUM( 'WAYFAIR', 'AMAZON', 'ALL_MODERN', 'LULU_AND_GEORGIA', 'PERIGOLD', 'URBAN_OUTFITTERS' ) `); await queryRunner.query(` ALTER TABLE "raw_retailer_product" ALTER COLUMN "kind" TYPE "public"."raw_retailer_product_kind_enum_old" USING "kind"::"text"::"public"."raw_retailer_product_kind_enum_old" `); await queryRunner.query(` DROP TYPE "public"."raw_retailer_product_kind_enum" `); await queryRunner.query(` ALTER TYPE "public"."raw_retailer_product_kind_enum_old" RENAME TO "raw_retailer_product_kind_enum" `); } }