<?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 Version20250210182656 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('CREATE TABLE additional_fee_rule (
id INT AUTO_INCREMENT NOT NULL,
time_start TIME NOT NULL,
time_end TIME NOT NULL,
rule_type INT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
$this->addSql('CREATE TABLE livreur_additionnal_fee_config (
id INT AUTO_INCREMENT NOT NULL,
amount_type INT NOT NULL,
amount_value FLOAT NOT NULL,
additionnal_fee_id INT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
$this->addSql('CREATE TABLE livreur_shipping_billing (
id INT AUTO_INCREMENT NOT NULL,
range_start INT NOT NULL,
range_end INT NOT NULL,
value INT NOT NULL,
created_at DATETIME NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
$this->addSql('CREATE TABLE out_of_app_order (
id INT AUTO_INCREMENT NOT NULL,
command_id INT NOT NULL,
service_fee FLOAT NOT NULL,
additionnal_image_links JSON DEFAULT NULL,
shipping_address VARCHAR(255) NOT NULL,
order_address VARCHAR(255) NOT NULL,
additionnal_info TEXT DEFAULT NULL,
receipt VARCHAR(255) DEFAULT NULL,
phone_number VARCHAR(255) DEFAULT NULL,
kaba_fee INT NOT NULL DEFAULT 0,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
$this->addSql('CREATE TABLE packaging_additionnal_fee_billing (
id INT AUTO_INCREMENT NOT NULL,
range_start INT NOT NULL,
range_end INT NOT NULL,
value FLOAT NOT NULL,
created_at DATETIME NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
$this->addSql('CREATE TABLE payment_bill (
id INT AUTO_INCREMENT NOT NULL,
shipping_pricing INT NOT NULL,
promotion_shipping_pricing INT NOT NULL,
promotion_pricing INT NOT NULL,
command_pricing INT NOT NULL,
remise INT NOT NULL,
total_pricing INT NOT NULL,
total_normal_pricing INT NOT NULL,
account_balance INT NOT NULL,
out_of_range TINYINT(1) NOT NULL DEFAULT 1,
pay_at_delivery TINYINT(1) NOT NULL DEFAULT 0,
prepaid TINYINT(1) NOT NULL DEFAULT 0,
trustful INT NOT NULL,
max_pay INT NOT NULL,
cooking_time INT NOT NULL,
can_preorder INT DEFAULT NULL,
discount VARCHAR(255) DEFAULT NULL,
open_type INT NOT NULL DEFAULT -1,
working_hour VARCHAR(255) DEFAULT NULL,
reason VARCHAR(255) DEFAULT NULL,
delivery_frames JSON DEFAULT NULL,
is_bill_built TINYINT(1) NOT NULL DEFAULT 0,
has_checked_open TINYINT(1) NOT NULL DEFAULT 0,
total_preorder_pricing INT DEFAULT NULL,
kaba_point JSON DEFAULT NULL,
eligible_vouchers JSON DEFAULT NULL,
additional_fees JSON DEFAULT NULL,
additional_fees_total_price INT NOT NULL,
command_id INT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
$this->addSql('CREATE TABLE resto_frais_supp (
id INT AUTO_INCREMENT NOT NULL,
fee_enabled TINYINT(1) NOT NULL,
resto_id INT NOT NULL,
additional_fee_id INT NOT NULL,
value FLOAT NOT NULL,
amount_type INT NOT NULL DEFAULT 2,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
$this->addSql('CREATE TABLE weather_rule (
id INT AUTO_INCREMENT NOT NULL,
time_start TIME NOT NULL,
time_end TIME NOT NULL,
weather_type INT NOT NULL,
enabled TINYINT(1) NOT NULL,
zone_id INT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
$this->addSql('CREATE TABLE zone (
id INT AUTO_INCREMENT NOT NULL,
name VARCHAR(255) NOT NULL,
location VARCHAR(255) NOT NULL,
radius FLOAT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
$this->addSql('CREATE TABLE zone_resto (
id INT AUTO_INCREMENT NOT NULL,
resto_id INT NOT NULL,
zone_id INT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET latin1 ENGINE = InnoDB');
$this->addSql('ALTER TABLE additional_fee ADD PRIMARY KEY (id), ADD KEY fk_ruleID (rule_id)');
$this->addSql('ALTER TABLE additional_fee_rule ADD PRIMARY KEY (id)');
$this->addSql('ALTER TABLE livreur_additionnal_fee_config ADD PRIMARY KEY (id), ADD KEY additionnal_fee_id (additionnal_fee_id)');
$this->addSql('ALTER TABLE livreur_shipping_billing ADD PRIMARY KEY (id)');
$this->addSql('ALTER TABLE out_of_app_order ADD PRIMARY KEY (id)');
$this->addSql('ALTER TABLE packaging_additionnal_fee_billing ADD PRIMARY KEY (id)');
$this->addSql('ALTER TABLE payment_bill ADD PRIMARY KEY (id)');
$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)');
$this->addSql('ALTER TABLE weather_rule ADD PRIMARY KEY (id), ADD KEY fk_zone_id (zone_id)');
$this->addSql('ALTER TABLE zone ADD PRIMARY KEY (id), ADD UNIQUE KEY zone_name_unique (name)');
$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)');
$this->addSql('ALTER TABLE additional_fee MODIFY id INT NOT NULL AUTO_INCREMENT');
$this->addSql('ALTER TABLE additional_fee_rule MODIFY id INT NOT NULL AUTO_INCREMENT');
$this->addSql('ALTER TABLE livreur_additionnal_fee_config MODIFY id INT NOT NULL AUTO_INCREMENT');
$this->addSql('ALTER TABLE livreur_shipping_billing MODIFY id INT NOT NULL AUTO_INCREMENT');
$this->addSql('ALTER TABLE out_of_app_order MODIFY id INT NOT NULL AUTO_INCREMENT');
$this->addSql('ALTER TABLE packaging_additionnal_fee_billing MODIFY id INT NOT NULL AUTO_INCREMENT');
$this->addSql('ALTER TABLE payment_bill MODIFY id INT NOT NULL AUTO_INCREMENT');
$this->addSql('ALTER TABLE resto_frais_supp MODIFY id INT NOT NULL AUTO_INCREMENT');
$this->addSql('ALTER TABLE weather_rule MODIFY id INT NOT NULL AUTO_INCREMENT');
$this->addSql('ALTER TABLE zone MODIFY id INT NOT NULL AUTO_INCREMENT');
$this->addSql('ALTER TABLE zone_resto MODIFY id INT NOT NULL AUTO_INCREMENT');
$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');
$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');
$this->addSql('ALTER TABLE resto_frais_supp ADD CONSTRAINT fk_additionnal_fee FOREIGN KEY (additional_fee_id) REFERENCES additional_fee (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE resto_frais_supp ADD CONSTRAINT fk_restoId FOREIGN KEY (resto_id) REFERENCES restaurant_config (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE weather_rule ADD CONSTRAINT fk_zone_id FOREIGN KEY (zone_id) REFERENCES zone (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE zone_resto ADD CONSTRAINT fk_zoneresto_resto_id FOREIGN KEY (resto_id) REFERENCES restaurant_config (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE zone_resto ADD CONSTRAINT fk_zoneresto_zone_id FOREIGN KEY (zone_id) REFERENCES zone (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE command
MODIFY COLUMN restaurant_id INT(11) DEFAULT NULL,
MODIFY COLUMN food_command LONGTEXT NOT NULL COMMENT "(DC2Type:array)"');
}
public function down(Schema $schema): void
{
$this->addSql('DROP TABLE additional_fee_rule');
$this->addSql('DROP TABLE livreur_additionnal_fee_config');
$this->addSql('DROP TABLE livreur_shipping_billing');
$this->addSql('DROP TABLE out_of_app_order');
$this->addSql('DROP TABLE packaging_additionnal_fee_billing');
$this->addSql('DROP TABLE payment_bill');
$this->addSql('DROP TABLE resto_frais_supp');
$this->addSql('DROP TABLE weather_rule');
$this->addSql('DROP TABLE zone');
$this->addSql('DROP TABLE zone_resto');
$this->addSql('ALTER TABLE additional_fee DROP PRIMARY KEY, DROP KEY fk_ruleID');
$this->addSql('ALTER TABLE additional_fee_rule DROP PRIMARY KEY');
$this->addSql('ALTER TABLE livreur_additionnal_fee_config DROP PRIMARY KEY, DROP KEY additionnal_fee_id');
$this->addSql('ALTER TABLE livreur_shipping_billing DROP PRIMARY KEY');
$this->addSql('ALTER TABLE out_of_app_order DROP PRIMARY KEY');
$this->addSql('ALTER TABLE packaging_additionnal_fee_billing DROP PRIMARY KEY');
$this->addSql('ALTER TABLE payment_bill DROP PRIMARY KEY');
$this->addSql('ALTER TABLE resto_frais_supp DROP PRIMARY KEY, DROP KEY fk_restoId, DROP KEY fk_additionnal_fee');
$this->addSql('ALTER TABLE weather_rule DROP PRIMARY KEY, DROP KEY fk_zone_id');
$this->addSql('ALTER TABLE zone DROP PRIMARY KEY, DROP KEY zone_name_unique');
$this->addSql('ALTER TABLE zone_resto DROP PRIMARY KEY, DROP KEY fk_zoneresto_resto_id, DROP KEY fk_zoneresto_zone_id');
$this->addSql('ALTER TABLE livreur_additionnal_fee_config DROP FOREIGN KEY livreur_additionnal_fee_config_ibfk_1');
$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');
$this->addSql('ALTER TABLE weather_rule DROP FOREIGN KEY fk_zone_id');
$this->addSql('ALTER TABLE zone_resto DROP FOREIGN KEY fk_zoneresto_resto_id, DROP FOREIGN KEY fk_zoneresto_zone_id');
$this->addSql('ALTER TABLE command
MODIFY COLUMN restaurant_id INT(11) NOT NULL,
MODIFY COLUMN food_command LONGTEXT NOT NULL');
}
}