diff --git a/src/Oro/Bundle/MagentoBundle/Entity/Order.php b/src/Oro/Bundle/MagentoBundle/Entity/Order.php index 6bdbb1d0913..d2a17cb9693 100644 --- a/src/Oro/Bundle/MagentoBundle/Entity/Order.php +++ b/src/Oro/Bundle/MagentoBundle/Entity/Order.php @@ -192,6 +192,7 @@ class Order extends ExtendOrder implements /** * @ORM\ManyToOne(targetEntity="Cart") + * @ORM\JoinColumn(onDelete="CASCADE") */ protected $cart; diff --git a/src/Oro/Bundle/MagentoBundle/Migrations/Schema/OroMagentoBundleInstaller.php b/src/Oro/Bundle/MagentoBundle/Migrations/Schema/OroMagentoBundleInstaller.php index 38c70bc04ef..2b555e35ea0 100644 --- a/src/Oro/Bundle/MagentoBundle/Migrations/Schema/OroMagentoBundleInstaller.php +++ b/src/Oro/Bundle/MagentoBundle/Migrations/Schema/OroMagentoBundleInstaller.php @@ -72,7 +72,7 @@ public function setExtendExtension(ExtendExtension $extendExtension) */ public function getMigrationVersion() { - return 'v1_45'; + return 'v1_46'; } /** @@ -864,7 +864,7 @@ protected function addOrocrmMagentoOrderForeignKeys(Schema $schema) $schema->getTable('orocrm_magento_cart'), ['cart_id'], ['id'], - [] + ['onDelete' => 'CASCADE'] ); $table->addForeignKeyConstraint( $schema->getTable('oro_user'), diff --git a/src/Oro/Bundle/MagentoBundle/Migrations/Schema/v1_46/SetCascadeDeleteToOrderCartFK.php b/src/Oro/Bundle/MagentoBundle/Migrations/Schema/v1_46/SetCascadeDeleteToOrderCartFK.php new file mode 100644 index 00000000000..53ed059b3c6 --- /dev/null +++ b/src/Oro/Bundle/MagentoBundle/Migrations/Schema/v1_46/SetCascadeDeleteToOrderCartFK.php @@ -0,0 +1,30 @@ +getTable('orocrm_magento_order'); + $fkName = 'FK_4D09F3051AD5CDBF'; + $fk = $table->getForeignKey($fkName); + if ($fk->getOption('onDelete') !== 'CASCADE') { + $table->removeForeignKey($fkName); + $table->addForeignKeyConstraint( + $schema->getTable('orocrm_magento_cart'), + ['cart_id'], + ['id'], + ['onDelete' => 'CASCADE'] + ); + } + } +}