<?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 Version20250318180412 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 (id INT AUTO_INCREMENT NOT NULL, fee_type INT NOT NULL, priority INT NOT NULL, title VARCHAR(255) NOT NULL, description VARCHAR(255) NOT NULL, amount_type INT NOT NULL, amount_value DOUBLE PRECISION NOT NULL, enabled TINYINT(1) NOT NULL, additional_fees_rule TINYINT(1) NOT NULL, rule_id INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$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 utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE livreur_additionnal_fee_config (id INT AUTO_INCREMENT NOT NULL, additionnal_fee_id INT NOT NULL, amount_type INT NOT NULL, amount_value DOUBLE PRECISION NOT NULL, INDEX IDX_8AB5216758FA72F9 (additionnal_fee_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` 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 utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE out_of_app_order (id INT AUTO_INCREMENT NOT NULL, command_id INT NOT NULL, service_fee DOUBLE PRECISION NOT NULL, kaba_fee DOUBLE PRECISION NOT NULL, additionnal_image_links LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', shipping_address VARCHAR(255) NOT NULL, order_address VARCHAR(255) NOT NULL, additionnal_info LONGTEXT DEFAULT NULL, phone_number VARCHAR(255) DEFAULT NULL, receipt VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` 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 INT NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE payment_bill (id INT AUTO_INCREMENT NOT NULL, command_id INT NOT NULL, shipping_pricing INT DEFAULT NULL, promotion_shipping_pricing INT DEFAULT NULL, promotion_pricing INT DEFAULT NULL, command_pricing INT DEFAULT NULL, remise INT DEFAULT NULL, total_pricing INT DEFAULT NULL, total_normal_pricing INT DEFAULT NULL, account_balance INT DEFAULT NULL, out_of_range TINYINT(1) DEFAULT NULL, pay_at_delivery TINYINT(1) DEFAULT NULL, prepaid TINYINT(1) DEFAULT NULL, trustful INT DEFAULT NULL, max_pay INT DEFAULT NULL, cooking_time INT DEFAULT NULL, can_preorder INT DEFAULT NULL, discount VARCHAR(255) DEFAULT NULL, open_type INT DEFAULT NULL, working_hour VARCHAR(255) DEFAULT NULL, reason VARCHAR(255) DEFAULT NULL, delivery_frames LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', is_bill_built TINYINT(1) DEFAULT NULL, has_checked_open TINYINT(1) DEFAULT NULL, total_preorder_pricing INT DEFAULT NULL, kaba_point LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', eligible_vouchers LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', additional_fees LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', additional_fees_total_price INT DEFAULT NULL, INDEX IDX_5BA28E9733E1689A (command_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE resto_frais_supp (id INT AUTO_INCREMENT NOT NULL, resto_id INT NOT NULL, additional_fee_id INT NOT NULL, fee_enabled TINYINT(1) NOT NULL, value DOUBLE PRECISION NOT NULL, amount_type INT NOT NULL, INDEX IDX_FBBBC0512978E8D1 (resto_id), INDEX IDX_FBBBC051FAE75C8B (additional_fee_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE weather_rule (id INT AUTO_INCREMENT NOT NULL, zone_id INT NOT NULL, time_start TIME NOT NULL, time_end TIME NOT NULL, weather_type INT NOT NULL, enabled TINYINT(1) NOT NULL, INDEX IDX_D85B36B59F2C3FAB (zone_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE zone (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, location VARCHAR(255) NOT NULL, radius DOUBLE PRECISION NOT NULL, UNIQUE INDEX zone_name_unique (name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE zone_resto (id INT AUTO_INCREMENT NOT NULL, resto_id INT NOT NULL, zone_id INT NOT NULL, INDEX IDX_2F0FFA172978E8D1 (resto_id), INDEX IDX_2F0FFA179F2C3FAB (zone_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE livreur_additionnal_fee_config ADD CONSTRAINT FK_8AB5216758FA72F9 FOREIGN KEY (additionnal_fee_id) REFERENCES additional_fee (id)');
$this->addSql('ALTER TABLE payment_bill ADD CONSTRAINT FK_5BA28E9733E1689A FOREIGN KEY (command_id) REFERENCES command (id)');
$this->addSql('ALTER TABLE resto_frais_supp ADD CONSTRAINT FK_FBBBC0512978E8D1 FOREIGN KEY (resto_id) REFERENCES restaurant_config (id)');
$this->addSql('ALTER TABLE resto_frais_supp ADD CONSTRAINT FK_FBBBC051FAE75C8B FOREIGN KEY (additional_fee_id) REFERENCES additional_fee (id)');
$this->addSql('ALTER TABLE weather_rule ADD CONSTRAINT FK_D85B36B59F2C3FAB FOREIGN KEY (zone_id) REFERENCES zone (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE zone_resto ADD CONSTRAINT FK_2F0FFA172978E8D1 FOREIGN KEY (resto_id) REFERENCES restaurant_config (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE zone_resto ADD CONSTRAINT FK_2F0FFA179F2C3FAB FOREIGN KEY (zone_id) REFERENCES zone (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE weather_rule MODIFY zone_id INT NOT NULL');
$this->addSql('ALTER TABLE command ADD order_address LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:array)\', ADD order_details LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', ADD order_type INT DEFAULT NULL, ADD phone_number VARCHAR(255) DEFAULT NULL, ADD additionnal_info_image VARCHAR(255) DEFAULT NULL');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE livreur_additionnal_fee_config DROP FOREIGN KEY FK_8AB5216758FA72F9');
$this->addSql('ALTER TABLE resto_frais_supp DROP FOREIGN KEY FK_FBBBC051FAE75C8B');
$this->addSql('ALTER TABLE weather_rule DROP FOREIGN KEY FK_D85B36B59F2C3FAB');
$this->addSql('ALTER TABLE zone_resto DROP FOREIGN KEY FK_2F0FFA179F2C3FAB');
$this->addSql('DROP TABLE additional_fee');
$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 command DROP order_address, DROP order_details, DROP order_type, DROP phone_number, DROP additionnal_info_image');
}
}