<?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 Version20211011071059 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 article (id INT AUTO_INCREMENT NOT NULL, family_id INT DEFAULT NULL, name_fr VARCHAR(255) NOT NULL, name_en VARCHAR(255) NOT NULL, name_de VARCHAR(255) NOT NULL, name_nl VARCHAR(255) NOT NULL, price DOUBLE PRECISION NOT NULL, is_highlight TINYINT(1) NOT NULL, is_varying_weight TINYINT(1) NOT NULL, is_active TINYINT(1) NOT NULL, image VARCHAR(255) DEFAULT NULL, updated_at DATETIME DEFAULT NULL, description_fr LONGTEXT DEFAULT NULL, description_en LONGTEXT DEFAULT NULL, description_de LONGTEXT DEFAULT NULL, description_nl LONGTEXT DEFAULT NULL, nutritional_value_fr LONGTEXT DEFAULT NULL, nutritional_value_en LONGTEXT DEFAULT NULL, nutritional_value_de LONGTEXT DEFAULT NULL, nutritional_value_nl LONGTEXT DEFAULT NULL, ingredient_fr LONGTEXT DEFAULT NULL, ingredient_en LONGTEXT DEFAULT NULL, ingredient_de LONGTEXT DEFAULT NULL, ingredient_nl LONGTEXT DEFAULT NULL, allergen_fr LONGTEXT DEFAULT NULL, allergen_en LONGTEXT DEFAULT NULL, allergen_de LONGTEXT DEFAULT NULL, allergen_nl LONGTEXT DEFAULT NULL, array_price LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:array)\', INDEX IDX_23A0E66C35E566A (family_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE configuration (id INT AUTO_INCREMENT NOT NULL, legal_notice LONGTEXT NOT NULL, general_condition LONGTEXT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE cooking_category (id INT AUTO_INCREMENT NOT NULL, name_fr VARCHAR(255) NOT NULL, name_en VARCHAR(255) NOT NULL, name_de VARCHAR(255) NOT NULL, name_nl VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE cut_category (id INT AUTO_INCREMENT NOT NULL, name_fr VARCHAR(255) NOT NULL, name_en VARCHAR(255) NOT NULL, name_de VARCHAR(255) NOT NULL, name_nl VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE destination_service (id INT AUTO_INCREMENT NOT NULL, name_fr VARCHAR(255) NOT NULL, name_en VARCHAR(255) NOT NULL, name_de VARCHAR(255) NOT NULL, name_nl VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE family (id INT AUTO_INCREMENT NOT NULL, name_fr VARCHAR(255) NOT NULL, name_en VARCHAR(255) NOT NULL, name_de VARCHAR(255) NOT NULL, name_nl VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE matrix (id INT AUTO_INCREMENT NOT NULL, matrice_number INT NOT NULL, customer_id INT NOT NULL, delevery_address_id INT NOT NULL, tour_number INT NOT NULL, is_active TINYINT(1) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE `order` (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, date DATETIME NOT NULL, amount DOUBLE PRECISION NOT NULL, comment LONGTEXT DEFAULT NULL, is_validated TINYINT(1) NOT NULL, is_saved TINYINT(1) NOT NULL, is_archived TINYINT(1) NOT NULL, order_number INT DEFAULT NULL, INDEX IDX_F5299398A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE order_movement (id INT AUTO_INCREMENT NOT NULL, command_id INT NOT NULL, cut_category_id INT DEFAULT NULL, cooking_category_id INT DEFAULT NULL, destination_service_id INT DEFAULT NULL, quantity INT NOT NULL, amount DOUBLE PRECISION NOT NULL, article_array LONGTEXT NOT NULL COMMENT \'(DC2Type:array)\', weight DOUBLE PRECISION NOT NULL, total_weight DOUBLE PRECISION NOT NULL, first_reduction LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:array)\', second_reduction LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:array)\', INDEX IDX_1525774633E1689A (command_id), INDEX IDX_15257746A73F0E34 (cut_category_id), INDEX IDX_15257746E23FC673 (cooking_category_id), INDEX IDX_15257746B0653254 (destination_service_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE special_price (id INT AUTO_INCREMENT NOT NULL, customer_id VARCHAR(190) NOT NULL, price DOUBLE PRECISION NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE special_price_article (special_price_id INT NOT NULL, article_id INT NOT NULL, INDEX IDX_1018B83056A9AC70 (special_price_id), INDEX IDX_1018B8307294869C (article_id), PRIMARY KEY(special_price_id, article_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(180) NOT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', password VARCHAR(255) NOT NULL, lastname VARCHAR(255) DEFAULT NULL, firstname VARCHAR(255) DEFAULT NULL, is_active TINYINT(1) NOT NULL, lang VARCHAR(255) NOT NULL, is_new TINYINT(1) NOT NULL, rate_code INT NOT NULL, customer_id VARCHAR(255) NOT NULL, delivery_address_id INT NOT NULL, customer_name VARCHAR(255) NOT NULL, first_reduction INT DEFAULT NULL, second_reduction INT DEFAULT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE article ADD CONSTRAINT FK_23A0E66C35E566A FOREIGN KEY (family_id) REFERENCES family (id)');
$this->addSql('ALTER TABLE `order` ADD CONSTRAINT FK_F5299398A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE order_movement ADD CONSTRAINT FK_1525774633E1689A FOREIGN KEY (command_id) REFERENCES `order` (id)');
$this->addSql('ALTER TABLE order_movement ADD CONSTRAINT FK_15257746A73F0E34 FOREIGN KEY (cut_category_id) REFERENCES cut_category (id)');
$this->addSql('ALTER TABLE order_movement ADD CONSTRAINT FK_15257746E23FC673 FOREIGN KEY (cooking_category_id) REFERENCES cooking_category (id)');
$this->addSql('ALTER TABLE order_movement ADD CONSTRAINT FK_15257746B0653254 FOREIGN KEY (destination_service_id) REFERENCES destination_service (id)');
$this->addSql('ALTER TABLE special_price_article ADD CONSTRAINT FK_1018B83056A9AC70 FOREIGN KEY (special_price_id) REFERENCES special_price (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE special_price_article ADD CONSTRAINT FK_1018B8307294869C FOREIGN KEY (article_id) REFERENCES article (id) ON DELETE CASCADE');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE special_price_article DROP FOREIGN KEY FK_1018B8307294869C');
$this->addSql('ALTER TABLE order_movement DROP FOREIGN KEY FK_15257746E23FC673');
$this->addSql('ALTER TABLE order_movement DROP FOREIGN KEY FK_15257746A73F0E34');
$this->addSql('ALTER TABLE order_movement DROP FOREIGN KEY FK_15257746B0653254');
$this->addSql('ALTER TABLE article DROP FOREIGN KEY FK_23A0E66C35E566A');
$this->addSql('ALTER TABLE order_movement DROP FOREIGN KEY FK_1525774633E1689A');
$this->addSql('ALTER TABLE special_price_article DROP FOREIGN KEY FK_1018B83056A9AC70');
$this->addSql('ALTER TABLE `order` DROP FOREIGN KEY FK_F5299398A76ED395');
$this->addSql('DROP TABLE article');
$this->addSql('DROP TABLE configuration');
$this->addSql('DROP TABLE cooking_category');
$this->addSql('DROP TABLE cut_category');
$this->addSql('DROP TABLE destination_service');
$this->addSql('DROP TABLE family');
$this->addSql('DROP TABLE matrix');
$this->addSql('DROP TABLE `order`');
$this->addSql('DROP TABLE order_movement');
$this->addSql('DROP TABLE special_price');
$this->addSql('DROP TABLE special_price_article');
$this->addSql('DROP TABLE user');
}
}