diff --git a/packages/medusa/src/migrations/1630870682705-money_amount_product_variant_cascade.ts b/packages/medusa/src/migrations/1630870682705-money_amount_product_variant_cascade.ts new file mode 100644 index 0000000000..bcdfd4eceb --- /dev/null +++ b/packages/medusa/src/migrations/1630870682705-money_amount_product_variant_cascade.ts @@ -0,0 +1,16 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class moneyAmountProductVariantCascade1630870682705 implements MigrationInterface { + name = 'moneyAmountProductVariantCascade1630870682705' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "money_amount" DROP CONSTRAINT "FK_17a06d728e4cfbc5bd2ddb70af0"`); + await queryRunner.query(`ALTER TABLE "money_amount" ADD CONSTRAINT "FK_17a06d728e4cfbc5bd2ddb70af0" FOREIGN KEY ("variant_id") REFERENCES "product_variant"("id") ON DELETE cascade ON UPDATE NO ACTION`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "money_amount" DROP CONSTRAINT "FK_17a06d728e4cfbc5bd2ddb70af0"`); + await queryRunner.query(`ALTER TABLE "money_amount" ADD CONSTRAINT "FK_17a06d728e4cfbc5bd2ddb70af0" FOREIGN KEY ("variant_id") REFERENCES "product_variant"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); + } + +} diff --git a/packages/medusa/src/models/money-amount.ts b/packages/medusa/src/models/money-amount.ts index 29440b5083..b4e87b716d 100644 --- a/packages/medusa/src/models/money-amount.ts +++ b/packages/medusa/src/models/money-amount.ts @@ -44,7 +44,11 @@ export class MoneyAmount { @Column({ nullable: true }) variant_id: string - @ManyToOne(() => ProductVariant) + @ManyToOne( + () => ProductVariant, + variant => variant.prices, + { onDelete: "cascade" } + ) @JoinColumn({ name: "variant_id" }) variant: ProductVariant diff --git a/packages/medusa/src/models/product-variant.ts b/packages/medusa/src/models/product-variant.ts index a1fd09968a..d3f70ae6ac 100644 --- a/packages/medusa/src/models/product-variant.ts +++ b/packages/medusa/src/models/product-variant.ts @@ -43,7 +43,7 @@ export class ProductVariant { @OneToMany( () => MoneyAmount, ma => ma.variant, - { cascade: ["remove"] } + { cascade: true, onDelete: "CASCADE" } ) prices: MoneyAmount[]