migrations/Version20250210182656.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20250210182656 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     
  16.     public function up(Schema $schema): void
  17.     {
  18.         // this up() migration is auto-generated, please modify it to your needs
  19.         $this->addSql('CREATE TABLE additional_fee_rule (
  20.             id INT AUTO_INCREMENT NOT NULL,
  21.             time_start TIME NOT NULL,
  22.             time_end TIME NOT NULL,
  23.             rule_type INT NOT NULL,
  24.             PRIMARY KEY(id)
  25.         ) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
  26.         $this->addSql('CREATE TABLE livreur_additionnal_fee_config (
  27.             id INT AUTO_INCREMENT NOT NULL,
  28.             amount_type INT NOT NULL,
  29.             amount_value FLOAT NOT NULL,
  30.             additionnal_fee_id INT NOT NULL,
  31.             PRIMARY KEY(id)
  32.         ) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
  33.         $this->addSql('CREATE TABLE livreur_shipping_billing (
  34.             id INT AUTO_INCREMENT NOT NULL,
  35.             range_start INT NOT NULL,
  36.             range_end INT NOT NULL,
  37.             value INT NOT NULL,
  38.             created_at DATETIME NOT NULL,
  39.             PRIMARY KEY(id)
  40.         ) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
  41.         $this->addSql('CREATE TABLE out_of_app_order (
  42.             id INT AUTO_INCREMENT NOT NULL,
  43.             command_id INT NOT NULL,
  44.             service_fee FLOAT NOT NULL,
  45.             additionnal_image_links JSON DEFAULT NULL,
  46.             shipping_address VARCHAR(255) NOT NULL,
  47.             order_address VARCHAR(255) NOT NULL,
  48.             additionnal_info TEXT DEFAULT NULL,
  49.             receipt VARCHAR(255) DEFAULT NULL,
  50.             phone_number VARCHAR(255) DEFAULT NULL,
  51.             kaba_fee INT NOT NULL DEFAULT 0,
  52.             PRIMARY KEY(id)
  53.         ) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
  54.         $this->addSql('CREATE TABLE packaging_additionnal_fee_billing (
  55.             id INT AUTO_INCREMENT NOT NULL,
  56.             range_start INT NOT NULL,
  57.             range_end INT NOT NULL,
  58.             value FLOAT NOT NULL,
  59.             created_at DATETIME NOT NULL,
  60.             PRIMARY KEY(id)
  61.         ) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
  62.         $this->addSql('CREATE TABLE payment_bill (
  63.             id INT AUTO_INCREMENT NOT NULL,
  64.             shipping_pricing INT NOT NULL,
  65.             promotion_shipping_pricing INT NOT NULL,
  66.             promotion_pricing INT NOT NULL,
  67.             command_pricing INT NOT NULL,
  68.             remise INT NOT NULL,
  69.             total_pricing INT NOT NULL,
  70.             total_normal_pricing INT NOT NULL,
  71.             account_balance INT NOT NULL,
  72.             out_of_range TINYINT(1) NOT NULL DEFAULT 1,
  73.             pay_at_delivery TINYINT(1) NOT NULL DEFAULT 0,
  74.             prepaid TINYINT(1) NOT NULL DEFAULT 0,
  75.             trustful INT NOT NULL,
  76.             max_pay INT NOT NULL,
  77.             cooking_time INT NOT NULL,
  78.             can_preorder INT DEFAULT NULL,
  79.             discount VARCHAR(255) DEFAULT NULL,
  80.             open_type INT NOT NULL DEFAULT -1,
  81.             working_hour VARCHAR(255) DEFAULT NULL,
  82.             reason VARCHAR(255) DEFAULT NULL,
  83.             delivery_frames JSON DEFAULT NULL,
  84.             is_bill_built TINYINT(1) NOT NULL DEFAULT 0,
  85.             has_checked_open TINYINT(1) NOT NULL DEFAULT 0,
  86.             total_preorder_pricing INT DEFAULT NULL,
  87.             kaba_point JSON DEFAULT NULL,
  88.             eligible_vouchers JSON DEFAULT NULL,
  89.             additional_fees JSON DEFAULT NULL,
  90.             additional_fees_total_price INT NOT NULL,
  91.             command_id INT NOT NULL,
  92.             PRIMARY KEY(id)
  93.         ) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
  94.         $this->addSql('CREATE TABLE resto_frais_supp (
  95.             id INT AUTO_INCREMENT NOT NULL,
  96.             fee_enabled TINYINT(1) NOT NULL,
  97.             resto_id INT NOT NULL,
  98.             additional_fee_id INT NOT NULL,
  99.             value FLOAT NOT NULL,
  100.             amount_type INT NOT NULL DEFAULT 2,
  101.             PRIMARY KEY(id)
  102.         ) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
  103.         $this->addSql('CREATE TABLE weather_rule (
  104.             id INT AUTO_INCREMENT NOT NULL,
  105.             time_start TIME NOT NULL,
  106.             time_end TIME NOT NULL,
  107.             weather_type INT NOT NULL,
  108.             enabled TINYINT(1) NOT NULL,
  109.             zone_id INT NOT NULL,
  110.             PRIMARY KEY(id)
  111.         ) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
  112.         $this->addSql('CREATE TABLE zone (
  113.             id INT AUTO_INCREMENT NOT NULL,
  114.             name VARCHAR(255) NOT NULL,
  115.             location VARCHAR(255) NOT NULL,
  116.             radius FLOAT NOT NULL,
  117.             PRIMARY KEY(id)
  118.         ) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
  119.         $this->addSql('CREATE TABLE zone_resto (
  120.             id INT AUTO_INCREMENT NOT NULL,
  121.             resto_id INT NOT NULL,
  122.             zone_id INT NOT NULL,
  123.             PRIMARY KEY(id)
  124.         ) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
  125.         $this->addSql('ALTER TABLE additional_fee ADD PRIMARY KEY (id), ADD KEY fk_ruleID (rule_id)');
  126.         $this->addSql('ALTER TABLE additional_fee_rule ADD PRIMARY KEY (id)');
  127.         $this->addSql('ALTER TABLE livreur_additionnal_fee_config ADD PRIMARY KEY (id), ADD KEY additionnal_fee_id (additionnal_fee_id)');
  128.         $this->addSql('ALTER TABLE livreur_shipping_billing ADD PRIMARY KEY (id)');
  129.         $this->addSql('ALTER TABLE out_of_app_order ADD PRIMARY KEY (id)');
  130.         $this->addSql('ALTER TABLE packaging_additionnal_fee_billing ADD PRIMARY KEY (id)');
  131.         $this->addSql('ALTER TABLE payment_bill ADD PRIMARY KEY (id)');
  132.         $this->addSql('ALTER TABLE resto_frais_supp ADD PRIMARY KEY (id), ADD KEY fk_restoId (resto_id), ADD KEY fk_additionnal_fee (additional_fee_id)');
  133.         $this->addSql('ALTER TABLE weather_rule ADD PRIMARY KEY (id), ADD KEY fk_zone_id (zone_id)');
  134.         $this->addSql('ALTER TABLE zone ADD PRIMARY KEY (id), ADD UNIQUE KEY zone_name_unique (name)');
  135.         $this->addSql('ALTER TABLE zone_resto ADD PRIMARY KEY (id), ADD KEY fk_zoneresto_resto_id (resto_id), ADD KEY fk_zoneresto_zone_id (zone_id)');
  136.         $this->addSql('ALTER TABLE additional_fee MODIFY id INT NOT NULL AUTO_INCREMENT');
  137.         $this->addSql('ALTER TABLE additional_fee_rule MODIFY id INT NOT NULL AUTO_INCREMENT');
  138.          $this->addSql('ALTER TABLE livreur_additionnal_fee_config MODIFY id INT NOT NULL AUTO_INCREMENT');
  139.         $this->addSql('ALTER TABLE livreur_shipping_billing MODIFY id INT NOT NULL AUTO_INCREMENT');
  140.         $this->addSql('ALTER TABLE out_of_app_order MODIFY id INT NOT NULL AUTO_INCREMENT');
  141.         $this->addSql('ALTER TABLE packaging_additionnal_fee_billing MODIFY id INT NOT NULL AUTO_INCREMENT');
  142.         $this->addSql('ALTER TABLE payment_bill MODIFY id INT NOT NULL AUTO_INCREMENT');
  143.         $this->addSql('ALTER TABLE resto_frais_supp MODIFY id INT NOT NULL AUTO_INCREMENT');
  144.         $this->addSql('ALTER TABLE weather_rule MODIFY id INT NOT NULL AUTO_INCREMENT');
  145.         $this->addSql('ALTER TABLE zone MODIFY id INT NOT NULL AUTO_INCREMENT');
  146.         $this->addSql('ALTER TABLE zone_resto MODIFY id INT NOT NULL AUTO_INCREMENT');
  147.         $this->addSql('ALTER TABLE livreur_additionnal_fee_config ADD CONSTRAINT livreur_additionnal_fee_config_ibfk_1 FOREIGN KEY (additionnal_fee_id) REFERENCES additional_fee (id) ON DELETE CASCADE');
  148.         $this->addSql('ALTER TABLE resto_frais_supp ADD CONSTRAINT fk_additional_fees_id FOREIGN KEY (additional_fee_id) REFERENCES additional_fee (id) ON DELETE CASCADE');
  149.         $this->addSql('ALTER TABLE resto_frais_supp ADD CONSTRAINT fk_additionnal_fee FOREIGN KEY (additional_fee_id) REFERENCES additional_fee (id) ON DELETE CASCADE');
  150.         $this->addSql('ALTER TABLE resto_frais_supp ADD CONSTRAINT fk_restoId FOREIGN KEY (resto_id) REFERENCES restaurant_config (id) ON DELETE CASCADE');
  151.         $this->addSql('ALTER TABLE weather_rule ADD CONSTRAINT fk_zone_id FOREIGN KEY (zone_id) REFERENCES zone (id) ON DELETE CASCADE');
  152.         $this->addSql('ALTER TABLE zone_resto ADD CONSTRAINT fk_zoneresto_resto_id FOREIGN KEY (resto_id) REFERENCES restaurant_config (id) ON DELETE CASCADE');
  153.         $this->addSql('ALTER TABLE zone_resto ADD CONSTRAINT fk_zoneresto_zone_id FOREIGN KEY (zone_id) REFERENCES zone (id) ON DELETE CASCADE');
  154.         $this->addSql('ALTER TABLE command 
  155.             MODIFY COLUMN restaurant_id INT(11) DEFAULT NULL,
  156.             MODIFY COLUMN food_command LONGTEXT NOT NULL COMMENT "(DC2Type:array)"');
  157.     }
  158.     public function down(Schema $schema): void
  159.     {
  160.         $this->addSql('DROP TABLE additional_fee_rule');
  161.         $this->addSql('DROP TABLE livreur_additionnal_fee_config');
  162.         $this->addSql('DROP TABLE livreur_shipping_billing');
  163.         $this->addSql('DROP TABLE out_of_app_order');
  164.         $this->addSql('DROP TABLE packaging_additionnal_fee_billing');
  165.         $this->addSql('DROP TABLE payment_bill');
  166.         $this->addSql('DROP TABLE resto_frais_supp');
  167.         $this->addSql('DROP TABLE weather_rule');
  168.         $this->addSql('DROP TABLE zone');
  169.         $this->addSql('DROP TABLE zone_resto');
  170.         $this->addSql('ALTER TABLE additional_fee DROP PRIMARY KEY, DROP KEY fk_ruleID');
  171.         $this->addSql('ALTER TABLE additional_fee_rule DROP PRIMARY KEY');
  172.         $this->addSql('ALTER TABLE livreur_additionnal_fee_config DROP PRIMARY KEY, DROP KEY additionnal_fee_id');
  173.         $this->addSql('ALTER TABLE livreur_shipping_billing DROP PRIMARY KEY');
  174.         $this->addSql('ALTER TABLE out_of_app_order DROP PRIMARY KEY');
  175.         $this->addSql('ALTER TABLE packaging_additionnal_fee_billing DROP PRIMARY KEY');
  176.         $this->addSql('ALTER TABLE payment_bill DROP PRIMARY KEY');
  177.         $this->addSql('ALTER TABLE resto_frais_supp DROP PRIMARY KEY, DROP KEY fk_restoId, DROP KEY fk_additionnal_fee');
  178.         $this->addSql('ALTER TABLE weather_rule DROP PRIMARY KEY, DROP KEY fk_zone_id');
  179.         $this->addSql('ALTER TABLE zone DROP PRIMARY KEY, DROP KEY zone_name_unique');
  180.         $this->addSql('ALTER TABLE zone_resto DROP PRIMARY KEY, DROP KEY fk_zoneresto_resto_id, DROP KEY fk_zoneresto_zone_id');
  181.         $this->addSql('ALTER TABLE livreur_additionnal_fee_config DROP FOREIGN KEY livreur_additionnal_fee_config_ibfk_1');
  182.         $this->addSql('ALTER TABLE resto_frais_supp DROP FOREIGN KEY fk_additional_fees_id, DROP FOREIGN KEY fk_additionnal_fee, DROP FOREIGN KEY fk_restoId');
  183.         $this->addSql('ALTER TABLE weather_rule DROP FOREIGN KEY fk_zone_id');
  184.         $this->addSql('ALTER TABLE zone_resto DROP FOREIGN KEY fk_zoneresto_resto_id, DROP FOREIGN KEY fk_zoneresto_zone_id');
  185.         $this->addSql('ALTER TABLE command 
  186.             MODIFY COLUMN restaurant_id INT(11) NOT NULL,
  187.             MODIFY COLUMN food_command LONGTEXT NOT NULL');
  188.     }
  189. }