migrations/Version20230615090743.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 Version20230615090743 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->addSql('CREATE TABLE question_answer (id INT AUTO_INCREMENT NOT NULL, question_id INT NOT NULL, survey_answer_id INT DEFAULT NULL, selected_choice_id INT DEFAULT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_DD80652D1E27F6BF (question_id), INDEX IDX_DD80652DF650A2A (survey_answer_id), INDEX IDX_DD80652DC1F9753A (selected_choice_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE survey (id INT AUTO_INCREMENT NOT NULL, creator_id INT NOT NULL, moderator_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', state INT DEFAULT NULL, privacy INT DEFAULT NULL, stop_display_date DATETIME DEFAULT NULL, duration INT DEFAULT NULL, participation INT DEFAULT NULL, display_participation TINYINT(1) DEFAULT NULL, start_display_date DATETIME DEFAULT NULL, template TINYINT(1) DEFAULT NULL, INDEX IDX_AD5F9BFC61220EA6 (creator_id), INDEX IDX_AD5F9BFCD0AFA354 (moderator_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE survey_answer (id INT AUTO_INCREMENT NOT NULL, apartment_id INT DEFAULT NULL, user_id INT DEFAULT NULL, survey_id INT DEFAULT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_F2D38249176DFE85 (apartment_id), INDEX IDX_F2D38249A76ED395 (user_id), INDEX IDX_F2D38249B3FE509D (survey_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE survey_question (id INT AUTO_INCREMENT NOT NULL, survey_id INT DEFAULT NULL, title VARCHAR(255) NOT NULL, description VARCHAR(255) DEFAULT NULL, trick VARCHAR(255) DEFAULT NULL, type INT NOT NULL, `order` INT NOT NULL, INDEX IDX_EA000F69B3FE509D (survey_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE survey_question_choice (id INT AUTO_INCREMENT NOT NULL, survey_question_id INT DEFAULT NULL, `order` INT NOT NULL, title VARCHAR(255) NOT NULL, INDEX IDX_6E22A7AEA6DF29BA (survey_question_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('ALTER TABLE question_answer ADD CONSTRAINT FK_DD80652D1E27F6BF FOREIGN KEY (question_id) REFERENCES survey_question (id)');
  24.         $this->addSql('ALTER TABLE question_answer ADD CONSTRAINT FK_DD80652DF650A2A FOREIGN KEY (survey_answer_id) REFERENCES survey_answer (id)');
  25.         $this->addSql('ALTER TABLE question_answer ADD CONSTRAINT FK_DD80652DC1F9753A FOREIGN KEY (selected_choice_id) REFERENCES survey_question_choice (id)');
  26.         $this->addSql('ALTER TABLE survey ADD CONSTRAINT FK_AD5F9BFC61220EA6 FOREIGN KEY (creator_id) REFERENCES weeke_user (id)');
  27.         $this->addSql('ALTER TABLE survey ADD CONSTRAINT FK_AD5F9BFCD0AFA354 FOREIGN KEY (moderator_id) REFERENCES weeke_user (id)');
  28.         $this->addSql('ALTER TABLE survey_answer ADD CONSTRAINT FK_F2D38249176DFE85 FOREIGN KEY (apartment_id) REFERENCES apartment (id)');
  29.         $this->addSql('ALTER TABLE survey_answer ADD CONSTRAINT FK_F2D38249A76ED395 FOREIGN KEY (user_id) REFERENCES weeke_user (id)');
  30.         $this->addSql('ALTER TABLE survey_answer ADD CONSTRAINT FK_F2D38249B3FE509D FOREIGN KEY (survey_id) REFERENCES survey (id)');
  31.         $this->addSql('ALTER TABLE survey_question ADD CONSTRAINT FK_EA000F69B3FE509D FOREIGN KEY (survey_id) REFERENCES survey (id)');
  32.         $this->addSql('ALTER TABLE survey_question_choice ADD CONSTRAINT FK_6E22A7AEA6DF29BA FOREIGN KEY (survey_question_id) REFERENCES survey_question (id)');
  33.         $this->addSql('ALTER TABLE message_target ADD survey_id INT DEFAULT NULL');
  34.         $this->addSql('ALTER TABLE message_target ADD CONSTRAINT FK_7148B2F3B3FE509D FOREIGN KEY (survey_id) REFERENCES survey (id) ON DELETE CASCADE');
  35.         $this->addSql('CREATE INDEX IDX_7148B2F3B3FE509D ON message_target (survey_id)');
  36.         $this->addSql('ALTER TABLE moderation_event ADD survey_id INT DEFAULT NULL, CHANGE publication_status publication_status ENUM( \'waiting\', \'accepted\', \'rejected\') DEFAULT \'waiting\' ');
  37.         $this->addSql('ALTER TABLE moderation_event ADD CONSTRAINT FK_C8F4ED33B3FE509D FOREIGN KEY (survey_id) REFERENCES survey (id)');
  38.         $this->addSql('CREATE INDEX IDX_C8F4ED33B3FE509D ON moderation_event (survey_id)');
  39.     }
  40.     public function down(Schema $schema): void
  41.     {
  42.         // this down() migration is auto-generated, please modify it to your needs
  43.         $this->addSql('ALTER TABLE message_target DROP FOREIGN KEY FK_7148B2F3B3FE509D');
  44.         $this->addSql('ALTER TABLE moderation_event DROP FOREIGN KEY FK_C8F4ED33B3FE509D');
  45.         $this->addSql('ALTER TABLE question_answer DROP FOREIGN KEY FK_DD80652D1E27F6BF');
  46.         $this->addSql('ALTER TABLE question_answer DROP FOREIGN KEY FK_DD80652DF650A2A');
  47.         $this->addSql('ALTER TABLE question_answer DROP FOREIGN KEY FK_DD80652DC1F9753A');
  48.         $this->addSql('ALTER TABLE survey DROP FOREIGN KEY FK_AD5F9BFC61220EA6');
  49.         $this->addSql('ALTER TABLE survey DROP FOREIGN KEY FK_AD5F9BFCD0AFA354');
  50.         $this->addSql('ALTER TABLE survey_answer DROP FOREIGN KEY FK_F2D38249176DFE85');
  51.         $this->addSql('ALTER TABLE survey_answer DROP FOREIGN KEY FK_F2D38249A76ED395');
  52.         $this->addSql('ALTER TABLE survey_answer DROP FOREIGN KEY FK_F2D38249B3FE509D');
  53.         $this->addSql('ALTER TABLE survey_question DROP FOREIGN KEY FK_EA000F69B3FE509D');
  54.         $this->addSql('ALTER TABLE survey_question_choice DROP FOREIGN KEY FK_6E22A7AEA6DF29BA');
  55.         $this->addSql('DROP TABLE question_answer');
  56.         $this->addSql('DROP TABLE survey');
  57.         $this->addSql('DROP TABLE survey_answer');
  58.         $this->addSql('DROP TABLE survey_question');
  59.         $this->addSql('DROP TABLE survey_question_choice');
  60.         $this->addSql('DROP INDEX IDX_C8F4ED33B3FE509D ON moderation_event');
  61.         $this->addSql('ALTER TABLE moderation_event DROP survey_id, CHANGE publication_status publication_status VARCHAR(255) DEFAULT \'waiting\'');
  62.         $this->addSql('DROP INDEX IDX_7148B2F3B3FE509D ON message_target');
  63.         $this->addSql('ALTER TABLE message_target DROP survey_id');
  64.     }
  65. }