migrations/Version20190911162953.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 Version20190911162953 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql''Migration can only be executed safely on \'mysql\'.');
  19.         $this->addSql('CREATE TABLE ingredient (`id` INT AUTO_INCREMENT NOT NULL, `name` VARCHAR(255) NOT NULL, `description` VARCHAR(4000) DEFAULT NULL, `note` VARCHAR(4000) DEFAULT NULL, `um_type` VARCHAR(255) DEFAULT NULL COMMENT \'(DC2Type:um_type)\', `value` INT DEFAULT NULL, `create_user` VARCHAR(50) NOT NULL, `creation_date` DATETIME NOT NULL, `modified_user` VARCHAR(50) DEFAULT NULL, `modified_date` DATETIME DEFAULT NULL, `image` LONGBLOB DEFAULT NULL, PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE ingredient_alternative (ingredient_a_id INT NOT NULL, ingredient_b_id INT NOT NULL, INDEX IDX_B68C9363658FE3CE (ingredient_a_id), INDEX IDX_B68C9363773A4C20 (ingredient_b_id), PRIMARY KEY(ingredient_a_id, ingredient_b_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE ingredient_document (`id` INT AUTO_INCREMENT NOT NULL, `ingredient_id` INT NOT NULL, `document_id` INT NOT NULL, INDEX IDX_AA6FDAF83F7B41FD (`ingredient_id`), INDEX IDX_AA6FDAF85D9C4E11 (`document_id`), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE nutrition_macro_group (nutrition_meal_id INT DEFAULT NULL, recipe_id INT DEFAULT NULL, `id` INT AUTO_INCREMENT NOT NULL, `type` VARCHAR(255) NOT NULL COMMENT \'(DC2Type:nutrition_macro_group_type)\', `name` VARCHAR(255) NOT NULL, `order` INT NOT NULL, `note` VARCHAR(255) DEFAULT NULL, specialDish_id INT DEFAULT NULL, INDEX IDX_7185AC9A326784 (nutrition_meal_id), INDEX IDX_7185AC59D8A214 (recipe_id), INDEX IDX_7185AC2377217C (specialDish_id), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE nutrition_macro_group_detail (`id` INT AUTO_INCREMENT NOT NULL, `um_type` VARCHAR(255) DEFAULT NULL COMMENT \'(DC2Type:um_type)\', `value` INT DEFAULT NULL, `frequency_um_type` VARCHAR(255) DEFAULT NULL COMMENT \'(DC2Type:um_type)\', `frequency_value` INT DEFAULT NULL, `order` INT NOT NULL, `note` VARCHAR(255) DEFAULT NULL, `nutrition_macro_group_id` INT NOT NULL, `item_id` INT NOT NULL, INDEX IDX_DDF16D1E6244AFF2 (`nutrition_macro_group_id`), INDEX IDX_DDF16D1ECC39D717 (`item_id`), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE nutrition_meal (nutrition_program_id INT NOT NULL, `id` INT AUTO_INCREMENT NOT NULL, `order` INT NOT NULL, `name` VARCHAR(255) DEFAULT NULL, `note` VARCHAR(255) DEFAULT NULL, INDEX IDX_B5CC600F9920AB9D (nutrition_program_id), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  25.         $this->addSql('CREATE TABLE nutrition_program (`id` INT AUTO_INCREMENT NOT NULL, `membership_id` INT DEFAULT NULL, `des` VARCHAR(255) DEFAULT NULL, `start_date` DATE DEFAULT NULL, `end_date` DATE DEFAULT NULL, `start_text` VARCHAR(255) DEFAULT NULL, `end_text` VARCHAR(255) DEFAULT NULL, `category` VARCHAR(255) NOT NULL COMMENT \'(DC2Type:nutrition_category)\', `calorie` VARCHAR(255) NOT NULL COMMENT \'(DC2Type:nutrition_calorie)\', `creation_date` DATETIME NOT NULL, `modified_user` VARCHAR(50) DEFAULT NULL, `modified_date` DATETIME DEFAULT NULL, PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  26.         $this->addSql('CREATE TABLE recipe (`id` INT AUTO_INCREMENT NOT NULL, `name` VARCHAR(255) DEFAULT NULL, `recipeType` VARCHAR(255) DEFAULT NULL COMMENT \'(DC2Type:recipeType)\', `difficultyPreparationLevel` VARCHAR(255) NOT NULL COMMENT \'(DC2Type:difficultyPreparationLevel)\', `preparation_time` INT DEFAULT NULL, `cooking_time` INT DEFAULT NULL, `preparation_des` LONGTEXT DEFAULT NULL, `creation_user` VARCHAR(50) NOT NULL, `creation_date` DATETIME NOT NULL, `modified_user` VARCHAR(50) DEFAULT NULL, `modified_date` DATETIME DEFAULT NULL, `image` LONGBLOB DEFAULT NULL, PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  27.         $this->addSql('CREATE TABLE recipe_document (`id` INT AUTO_INCREMENT NOT NULL, `recipe_id` INT NOT NULL, `document_id` INT NOT NULL, INDEX IDX_AEF92FE85DEACDA8 (`recipe_id`), INDEX IDX_AEF92FE85D9C4E11 (`document_id`), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  28.         $this->addSql('CREATE TABLE recipe_ingredient (recipe_id INT NOT NULL, ingredient_id INT NOT NULL, `id` INT AUTO_INCREMENT NOT NULL, `um_type` VARCHAR(255) DEFAULT NULL COMMENT \'(DC2Type:um_type)\', `value` INT DEFAULT NULL, INDEX IDX_22D1FE1359D8A214 (recipe_id), INDEX IDX_22D1FE13933FE08C (ingredient_id), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  29.         $this->addSql('CREATE TABLE special_dish (`id` INT AUTO_INCREMENT NOT NULL, `name` VARCHAR(255) DEFAULT NULL, `note` VARCHAR(500) DEFAULT NULL, `frequency_um_type` VARCHAR(255) DEFAULT NULL COMMENT \'(DC2Type:um_type)\', `frequency_value` INT DEFAULT NULL, `creation_user` VARCHAR(50) NOT NULL, `creation_date` DATETIME NOT NULL, `modified_user` VARCHAR(50) DEFAULT NULL, `modified_date` DATETIME DEFAULT NULL, `image` LONGBLOB DEFAULT NULL, PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  30.         $this->addSql('CREATE TABLE special_dish_document (`id` INT AUTO_INCREMENT NOT NULL, `specialDish_id` INT NOT NULL, `document_id` INT NOT NULL, INDEX IDX_B8917517C40901D6 (`specialDish_id`), INDEX IDX_B89175175D9C4E11 (`document_id`), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  31.         $this->addSql('CREATE TABLE special_dish_ingredient (special_dish_id INT NOT NULL, ingredient_id INT NOT NULL, `id` INT AUTO_INCREMENT NOT NULL, `um_type` VARCHAR(255) DEFAULT NULL COMMENT \'(DC2Type:um_type)\', `value` INT DEFAULT NULL, INDEX IDX_3A4BADE3CC82EC5E (special_dish_id), INDEX IDX_3A4BADE3933FE08C (ingredient_id), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  32.         $this->addSql('ALTER TABLE ingredient_alternative ADD CONSTRAINT FK_B68C9363658FE3CE FOREIGN KEY (ingredient_a_id) REFERENCES ingredient (id)');
  33.         $this->addSql('ALTER TABLE ingredient_alternative ADD CONSTRAINT FK_B68C9363773A4C20 FOREIGN KEY (ingredient_b_id) REFERENCES ingredient (id)');
  34.         $this->addSql('ALTER TABLE ingredient_document ADD CONSTRAINT FK_AA6FDAF83F7B41FD FOREIGN KEY (`ingredient_id`) REFERENCES ingredient (`id`) ON DELETE CASCADE');
  35.         $this->addSql('ALTER TABLE ingredient_document ADD CONSTRAINT FK_AA6FDAF85D9C4E11 FOREIGN KEY (`document_id`) REFERENCES document (`id`) ON DELETE CASCADE');
  36.         $this->addSql('ALTER TABLE nutrition_macro_group ADD CONSTRAINT FK_7185AC9A326784 FOREIGN KEY (nutrition_meal_id) REFERENCES nutrition_meal (id)');
  37.         $this->addSql('ALTER TABLE nutrition_macro_group ADD CONSTRAINT FK_7185AC59D8A214 FOREIGN KEY (recipe_id) REFERENCES recipe (id)');
  38.         $this->addSql('ALTER TABLE nutrition_macro_group ADD CONSTRAINT FK_7185AC2377217C FOREIGN KEY (specialDish_id) REFERENCES special_dish (id)');
  39.         $this->addSql('ALTER TABLE nutrition_macro_group_detail ADD CONSTRAINT FK_DDF16D1E6244AFF2 FOREIGN KEY (`nutrition_macro_group_id`) REFERENCES nutrition_macro_group (`id`) ON DELETE CASCADE');
  40.         $this->addSql('ALTER TABLE nutrition_macro_group_detail ADD CONSTRAINT FK_DDF16D1ECC39D717 FOREIGN KEY (`item_id`) REFERENCES item (`id`) ON DELETE CASCADE');
  41.         $this->addSql('ALTER TABLE nutrition_meal ADD CONSTRAINT FK_B5CC600F9920AB9D FOREIGN KEY (nutrition_program_id) REFERENCES nutrition_program (id)');
  42.         $this->addSql('ALTER TABLE recipe_document ADD CONSTRAINT FK_AEF92FE85DEACDA8 FOREIGN KEY (`recipe_id`) REFERENCES recipe (`id`) ON DELETE CASCADE');
  43.         $this->addSql('ALTER TABLE recipe_document ADD CONSTRAINT FK_AEF92FE85D9C4E11 FOREIGN KEY (`document_id`) REFERENCES document (`id`) ON DELETE CASCADE');
  44.         $this->addSql('ALTER TABLE recipe_ingredient ADD CONSTRAINT FK_22D1FE1359D8A214 FOREIGN KEY (recipe_id) REFERENCES recipe (id)');
  45.         $this->addSql('ALTER TABLE recipe_ingredient ADD CONSTRAINT FK_22D1FE13933FE08C FOREIGN KEY (ingredient_id) REFERENCES ingredient (id)');
  46.         $this->addSql('ALTER TABLE special_dish_document ADD CONSTRAINT FK_B8917517C40901D6 FOREIGN KEY (`specialDish_id`) REFERENCES special_dish (`id`) ON DELETE CASCADE');
  47.         $this->addSql('ALTER TABLE special_dish_document ADD CONSTRAINT FK_B89175175D9C4E11 FOREIGN KEY (`document_id`) REFERENCES document (`id`) ON DELETE CASCADE');
  48.         $this->addSql('ALTER TABLE special_dish_ingredient ADD CONSTRAINT FK_3A4BADE3CC82EC5E FOREIGN KEY (special_dish_id) REFERENCES special_dish (id)');
  49.         $this->addSql('ALTER TABLE special_dish_ingredient ADD CONSTRAINT FK_3A4BADE3933FE08C FOREIGN KEY (ingredient_id) REFERENCES ingredient (id)');
  50.         $this->addSql('ALTER TABLE item ADD `description` VARCHAR(4000) DEFAULT NULL, ADD `thumbnail` LONGBLOB DEFAULT NULL');
  51.     }
  52.     public function down(Schema $schema): void
  53.     {
  54.         // this down() migration is auto-generated, please modify it to your needs
  55.         $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql''Migration can only be executed safely on \'mysql\'.');
  56.         $this->addSql('ALTER TABLE ingredient_alternative DROP FOREIGN KEY FK_B68C9363658FE3CE');
  57.         $this->addSql('ALTER TABLE ingredient_alternative DROP FOREIGN KEY FK_B68C9363773A4C20');
  58.         $this->addSql('ALTER TABLE ingredient_document DROP FOREIGN KEY FK_AA6FDAF83F7B41FD');
  59.         $this->addSql('ALTER TABLE recipe_ingredient DROP FOREIGN KEY FK_22D1FE13933FE08C');
  60.         $this->addSql('ALTER TABLE special_dish_ingredient DROP FOREIGN KEY FK_3A4BADE3933FE08C');
  61.         $this->addSql('ALTER TABLE nutrition_macro_group_detail DROP FOREIGN KEY FK_DDF16D1E6244AFF2');
  62.         $this->addSql('ALTER TABLE nutrition_macro_group DROP FOREIGN KEY FK_7185AC9A326784');
  63.         $this->addSql('ALTER TABLE nutrition_meal DROP FOREIGN KEY FK_B5CC600F9920AB9D');
  64.         $this->addSql('ALTER TABLE nutrition_macro_group DROP FOREIGN KEY FK_7185AC59D8A214');
  65.         $this->addSql('ALTER TABLE recipe_document DROP FOREIGN KEY FK_AEF92FE85DEACDA8');
  66.         $this->addSql('ALTER TABLE recipe_ingredient DROP FOREIGN KEY FK_22D1FE1359D8A214');
  67.         $this->addSql('ALTER TABLE nutrition_macro_group DROP FOREIGN KEY FK_7185AC2377217C');
  68.         $this->addSql('ALTER TABLE special_dish_document DROP FOREIGN KEY FK_B8917517C40901D6');
  69.         $this->addSql('ALTER TABLE special_dish_ingredient DROP FOREIGN KEY FK_3A4BADE3CC82EC5E');
  70.         $this->addSql('DROP TABLE ingredient');
  71.         $this->addSql('DROP TABLE ingredient_alternative');
  72.         $this->addSql('DROP TABLE ingredient_document');
  73.         $this->addSql('DROP TABLE nutrition_macro_group');
  74.         $this->addSql('DROP TABLE nutrition_macro_group_detail');
  75.         $this->addSql('DROP TABLE nutrition_meal');
  76.         $this->addSql('DROP TABLE nutrition_program');
  77.         $this->addSql('DROP TABLE recipe');
  78.         $this->addSql('DROP TABLE recipe_document');
  79.         $this->addSql('DROP TABLE recipe_ingredient');
  80.         $this->addSql('DROP TABLE special_dish');
  81.         $this->addSql('DROP TABLE special_dish_document');
  82.         $this->addSql('DROP TABLE special_dish_ingredient');
  83.         $this->addSql('ALTER TABLE item DROP `description`, DROP `thumbnail`');
  84.     }
  85. }