<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20220422115137 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE delivery_mode_attr DROP FOREIGN KEY FK_BE32DED57DFB3A94');
$this->addSql('ALTER TABLE discount_delivery_mode DROP FOREIGN KEY FK_EB1947BE7DFB3A94');
$this->addSql('ALTER TABLE `order` DROP FOREIGN KEY FK_F52993987DFB3A94');
$this->addSql('ALTER TABLE partner_delivery_mode DROP FOREIGN KEY FK_AAEB2707DFB3A94');
$this->addSql('ALTER TABLE tax_delivery_mode DROP FOREIGN KEY FK_B812A4E47DFB3A94');
$this->addSql('ALTER TABLE menu_delivery_mode_attr DROP FOREIGN KEY FK_7713C0833A6F8B44');
$this->addSql('ALTER TABLE ordering_hours DROP FOREIGN KEY FK_E361B4D03A6F8B44');
$this->addSql('ALTER TABLE promotion DROP FOREIGN KEY FK_C11D7DD13A6F8B44');
$this->addSql('ALTER TABLE zone DROP FOREIGN KEY FK_A0EBC0073A6F8B44');
$this->addSql('CREATE TABLE discount_mode (discount_id INT NOT NULL, mode_id INT NOT NULL, INDEX IDX_94842114C7C611F (discount_id), INDEX IDX_948421177E5854A (mode_id), PRIMARY KEY(discount_id, mode_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE menu_shop_mode (menu_id INT NOT NULL, shop_mode_id INT NOT NULL, INDEX IDX_4F78C6E4CCD7E912 (menu_id), INDEX IDX_4F78C6E474D6C560 (shop_mode_id), PRIMARY KEY(menu_id, shop_mode_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE mode (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, type VARCHAR(255) DEFAULT NULL, enabled TINYINT(1) DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE partner_mode (partner_id INT NOT NULL, mode_id INT NOT NULL, INDEX IDX_C7FE74B39393F8FE (partner_id), INDEX IDX_C7FE74B377E5854A (mode_id), PRIMARY KEY(partner_id, mode_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE shop_mode (id INT AUTO_INCREMENT NOT NULL, mode_id INT NOT NULL, shop_id INT NOT NULL, average_delivery_cost DOUBLE PRECISION DEFAULT NULL, average_delivery_order DOUBLE PRECISION DEFAULT NULL, average_delivery_time DOUBLE PRECISION DEFAULT NULL, status TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_5638A1D077E5854A (mode_id), INDEX IDX_5638A1D04D16C4DD (shop_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE tax_mode (tax_id INT NOT NULL, mode_id INT NOT NULL, INDEX IDX_8B454853B2A824D8 (tax_id), INDEX IDX_8B45485377E5854A (mode_id), PRIMARY KEY(tax_id, mode_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE discount_mode ADD CONSTRAINT FK_94842114C7C611F FOREIGN KEY (discount_id) REFERENCES discount (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE discount_mode ADD CONSTRAINT FK_948421177E5854A FOREIGN KEY (mode_id) REFERENCES mode (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE menu_shop_mode ADD CONSTRAINT FK_4F78C6E4CCD7E912 FOREIGN KEY (menu_id) REFERENCES menu (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE menu_shop_mode ADD CONSTRAINT FK_4F78C6E474D6C560 FOREIGN KEY (shop_mode_id) REFERENCES shop_mode (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE partner_mode ADD CONSTRAINT FK_C7FE74B39393F8FE FOREIGN KEY (partner_id) REFERENCES partner (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE partner_mode ADD CONSTRAINT FK_C7FE74B377E5854A FOREIGN KEY (mode_id) REFERENCES mode (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE shop_mode ADD CONSTRAINT FK_5638A1D077E5854A FOREIGN KEY (mode_id) REFERENCES mode (id)');
$this->addSql('ALTER TABLE shop_mode ADD CONSTRAINT FK_5638A1D04D16C4DD FOREIGN KEY (shop_id) REFERENCES shop (id)');
$this->addSql('ALTER TABLE tax_mode ADD CONSTRAINT FK_8B454853B2A824D8 FOREIGN KEY (tax_id) REFERENCES tax (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE tax_mode ADD CONSTRAINT FK_8B45485377E5854A FOREIGN KEY (mode_id) REFERENCES mode (id) ON DELETE CASCADE');
$this->addSql('DROP TABLE delivery_mode');
$this->addSql('DROP TABLE delivery_mode_attr');
$this->addSql('DROP TABLE discount_delivery_mode');
$this->addSql('DROP TABLE menu_delivery_mode_attr');
$this->addSql('DROP TABLE partner_delivery_mode');
$this->addSql('DROP TABLE tax_delivery_mode');
$this->addSql('DROP INDEX IDX_F52993987DFB3A94 ON `order`');
$this->addSql('ALTER TABLE `order` CHANGE delivery_mode_id mode_id INT NOT NULL');
$this->addSql('ALTER TABLE `order` ADD CONSTRAINT FK_F529939877E5854A FOREIGN KEY (mode_id) REFERENCES mode (id)');
$this->addSql('CREATE INDEX IDX_F529939877E5854A ON `order` (mode_id)');
$this->addSql('DROP INDEX IDX_E361B4D03A6F8B44 ON ordering_hours');
$this->addSql('ALTER TABLE ordering_hours CHANGE delivery_mode_attr_id shop_mode_id INT NOT NULL');
$this->addSql('ALTER TABLE ordering_hours ADD CONSTRAINT FK_E361B4D074D6C560 FOREIGN KEY (shop_mode_id) REFERENCES shop_mode (id)');
$this->addSql('CREATE INDEX IDX_E361B4D074D6C560 ON ordering_hours (shop_mode_id)');
$this->addSql('DROP INDEX IDX_C11D7DD13A6F8B44 ON promotion');
$this->addSql('ALTER TABLE promotion CHANGE delivery_mode_attr_id shop_mode_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE promotion ADD CONSTRAINT FK_C11D7DD174D6C560 FOREIGN KEY (shop_mode_id) REFERENCES shop_mode (id)');
$this->addSql('CREATE INDEX IDX_C11D7DD174D6C560 ON promotion (shop_mode_id)');
$this->addSql('DROP INDEX IDX_A0EBC0073A6F8B44 ON zone');
$this->addSql('ALTER TABLE zone CHANGE delivery_mode_attr_id shop_mode_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE zone ADD CONSTRAINT FK_A0EBC00774D6C560 FOREIGN KEY (shop_mode_id) REFERENCES shop_mode (id)');
$this->addSql('CREATE INDEX IDX_A0EBC00774D6C560 ON zone (shop_mode_id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE discount_mode DROP FOREIGN KEY FK_948421177E5854A');
$this->addSql('ALTER TABLE `order` DROP FOREIGN KEY FK_F529939877E5854A');
$this->addSql('ALTER TABLE partner_mode DROP FOREIGN KEY FK_C7FE74B377E5854A');
$this->addSql('ALTER TABLE shop_mode DROP FOREIGN KEY FK_5638A1D077E5854A');
$this->addSql('ALTER TABLE tax_mode DROP FOREIGN KEY FK_8B45485377E5854A');
$this->addSql('ALTER TABLE menu_shop_mode DROP FOREIGN KEY FK_4F78C6E474D6C560');
$this->addSql('ALTER TABLE ordering_hours DROP FOREIGN KEY FK_E361B4D074D6C560');
$this->addSql('ALTER TABLE promotion DROP FOREIGN KEY FK_C11D7DD174D6C560');
$this->addSql('ALTER TABLE zone DROP FOREIGN KEY FK_A0EBC00774D6C560');
$this->addSql('CREATE TABLE delivery_mode (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, type VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, enabled TINYINT(1) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE delivery_mode_attr (id INT AUTO_INCREMENT NOT NULL, delivery_mode_id INT NOT NULL, shop_id INT NOT NULL, average_delivery_cost DOUBLE PRECISION DEFAULT NULL, average_delivery_order DOUBLE PRECISION DEFAULT NULL, average_delivery_time DOUBLE PRECISION DEFAULT NULL, status TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_BE32DED54D16C4DD (shop_id), INDEX IDX_BE32DED57DFB3A94 (delivery_mode_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE discount_delivery_mode (discount_id INT NOT NULL, delivery_mode_id INT NOT NULL, INDEX IDX_EB1947BE4C7C611F (discount_id), INDEX IDX_EB1947BE7DFB3A94 (delivery_mode_id), PRIMARY KEY(discount_id, delivery_mode_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE menu_delivery_mode_attr (menu_id INT NOT NULL, delivery_mode_attr_id INT NOT NULL, INDEX IDX_7713C083CCD7E912 (menu_id), INDEX IDX_7713C0833A6F8B44 (delivery_mode_attr_id), PRIMARY KEY(menu_id, delivery_mode_attr_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE partner_delivery_mode (partner_id INT NOT NULL, delivery_mode_id INT NOT NULL, INDEX IDX_AAEB2709393F8FE (partner_id), INDEX IDX_AAEB2707DFB3A94 (delivery_mode_id), PRIMARY KEY(partner_id, delivery_mode_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE tax_delivery_mode (tax_id INT NOT NULL, delivery_mode_id INT NOT NULL, INDEX IDX_B812A4E4B2A824D8 (tax_id), INDEX IDX_B812A4E47DFB3A94 (delivery_mode_id), PRIMARY KEY(tax_id, delivery_mode_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('ALTER TABLE delivery_mode_attr ADD CONSTRAINT FK_BE32DED54D16C4DD FOREIGN KEY (shop_id) REFERENCES shop (id)');
$this->addSql('ALTER TABLE delivery_mode_attr ADD CONSTRAINT FK_BE32DED57DFB3A94 FOREIGN KEY (delivery_mode_id) REFERENCES delivery_mode (id)');
$this->addSql('ALTER TABLE discount_delivery_mode ADD CONSTRAINT FK_EB1947BE4C7C611F FOREIGN KEY (discount_id) REFERENCES discount (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE discount_delivery_mode ADD CONSTRAINT FK_EB1947BE7DFB3A94 FOREIGN KEY (delivery_mode_id) REFERENCES delivery_mode (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE menu_delivery_mode_attr ADD CONSTRAINT FK_7713C0833A6F8B44 FOREIGN KEY (delivery_mode_attr_id) REFERENCES delivery_mode_attr (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE menu_delivery_mode_attr ADD CONSTRAINT FK_7713C083CCD7E912 FOREIGN KEY (menu_id) REFERENCES menu (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE partner_delivery_mode ADD CONSTRAINT FK_AAEB2707DFB3A94 FOREIGN KEY (delivery_mode_id) REFERENCES delivery_mode (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE partner_delivery_mode ADD CONSTRAINT FK_AAEB2709393F8FE FOREIGN KEY (partner_id) REFERENCES partner (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE tax_delivery_mode ADD CONSTRAINT FK_B812A4E47DFB3A94 FOREIGN KEY (delivery_mode_id) REFERENCES delivery_mode (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE tax_delivery_mode ADD CONSTRAINT FK_B812A4E4B2A824D8 FOREIGN KEY (tax_id) REFERENCES tax (id) ON DELETE CASCADE');
$this->addSql('DROP TABLE discount_mode');
$this->addSql('DROP TABLE menu_shop_mode');
$this->addSql('DROP TABLE mode');
$this->addSql('DROP TABLE partner_mode');
$this->addSql('DROP TABLE shop_mode');
$this->addSql('DROP TABLE tax_mode');
$this->addSql('DROP INDEX IDX_F529939877E5854A ON `order`');
$this->addSql('ALTER TABLE `order` CHANGE mode_id delivery_mode_id INT NOT NULL');
$this->addSql('ALTER TABLE `order` ADD CONSTRAINT FK_F52993987DFB3A94 FOREIGN KEY (delivery_mode_id) REFERENCES delivery_mode (id)');
$this->addSql('CREATE INDEX IDX_F52993987DFB3A94 ON `order` (delivery_mode_id)');
$this->addSql('DROP INDEX IDX_E361B4D074D6C560 ON ordering_hours');
$this->addSql('ALTER TABLE ordering_hours CHANGE shop_mode_id delivery_mode_attr_id INT NOT NULL');
$this->addSql('ALTER TABLE ordering_hours ADD CONSTRAINT FK_E361B4D03A6F8B44 FOREIGN KEY (delivery_mode_attr_id) REFERENCES delivery_mode_attr (id)');
$this->addSql('CREATE INDEX IDX_E361B4D03A6F8B44 ON ordering_hours (delivery_mode_attr_id)');
$this->addSql('DROP INDEX IDX_C11D7DD174D6C560 ON promotion');
$this->addSql('ALTER TABLE promotion CHANGE shop_mode_id delivery_mode_attr_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE promotion ADD CONSTRAINT FK_C11D7DD13A6F8B44 FOREIGN KEY (delivery_mode_attr_id) REFERENCES delivery_mode_attr (id)');
$this->addSql('CREATE INDEX IDX_C11D7DD13A6F8B44 ON promotion (delivery_mode_attr_id)');
$this->addSql('DROP INDEX IDX_A0EBC00774D6C560 ON zone');
$this->addSql('ALTER TABLE zone CHANGE shop_mode_id delivery_mode_attr_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE zone ADD CONSTRAINT FK_A0EBC0073A6F8B44 FOREIGN KEY (delivery_mode_attr_id) REFERENCES delivery_mode_attr (id)');
$this->addSql('CREATE INDEX IDX_A0EBC0073A6F8B44 ON zone (delivery_mode_attr_id)');
}
}