migrations/Version20220527145307.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 Version20220527145307 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 answer (id INT AUTO_INCREMENT NOT NULL, wording VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, value INT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE question (id INT AUTO_INCREMENT NOT NULL, wording VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, type INT NOT NULL, required TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE question_answer (id INT AUTO_INCREMENT NOT NULL, question_id INT DEFAULT NULL, answer_id INT DEFAULT NULL, sort INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_DD80652D1E27F6BF (question_id), INDEX IDX_DD80652DAA334807 (answer_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE survey (id INT AUTO_INCREMENT NOT NULL, slug VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL, description VARCHAR(255) DEFAULT NULL, status INT NOT NULL, valid_start DATETIME DEFAULT NULL, valid_end DATETIME DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE survey_question (id INT AUTO_INCREMENT NOT NULL, survey_id INT DEFAULT NULL, question_id INT DEFAULT NULL, sort INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_EA000F69B3FE509D (survey_id), INDEX IDX_EA000F691E27F6BF (question_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE survey_result (id INT AUTO_INCREMENT NOT NULL, survey_id INT DEFAULT NULL, user_ip VARCHAR(255) NOT NULL, user_agent VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_3B64097FB3FE509D (survey_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE survey_result_data (id INT AUTO_INCREMENT NOT NULL, survey_result_id INT DEFAULT NULL, question_id INT DEFAULT NULL, answer_id INT DEFAULT NULL, response_text LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_85303728A2F1F46E (survey_result_id), INDEX IDX_853037281E27F6BF (question_id), INDEX IDX_85303728AA334807 (answer_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  25.         $this->addSql('ALTER TABLE question_answer ADD CONSTRAINT FK_DD80652D1E27F6BF FOREIGN KEY (question_id) REFERENCES question (id)');
  26.         $this->addSql('ALTER TABLE question_answer ADD CONSTRAINT FK_DD80652DAA334807 FOREIGN KEY (answer_id) REFERENCES answer (id)');
  27.         $this->addSql('ALTER TABLE survey_question ADD CONSTRAINT FK_EA000F69B3FE509D FOREIGN KEY (survey_id) REFERENCES survey (id)');
  28.         $this->addSql('ALTER TABLE survey_question ADD CONSTRAINT FK_EA000F691E27F6BF FOREIGN KEY (question_id) REFERENCES question (id)');
  29.         $this->addSql('ALTER TABLE survey_result ADD CONSTRAINT FK_3B64097FB3FE509D FOREIGN KEY (survey_id) REFERENCES survey (id)');
  30.         $this->addSql('ALTER TABLE survey_result_data ADD CONSTRAINT FK_85303728A2F1F46E FOREIGN KEY (survey_result_id) REFERENCES survey_result (id)');
  31.         $this->addSql('ALTER TABLE survey_result_data ADD CONSTRAINT FK_853037281E27F6BF FOREIGN KEY (question_id) REFERENCES question (id)');
  32.         $this->addSql('ALTER TABLE survey_result_data ADD CONSTRAINT FK_85303728AA334807 FOREIGN KEY (answer_id) REFERENCES answer (id)');
  33.     }
  34.     public function down(Schema $schema): void
  35.     {
  36.         // this down() migration is auto-generated, please modify it to your needs
  37.         $this->addSql('ALTER TABLE question_answer DROP FOREIGN KEY FK_DD80652DAA334807');
  38.         $this->addSql('ALTER TABLE survey_result_data DROP FOREIGN KEY FK_85303728AA334807');
  39.         $this->addSql('ALTER TABLE question_answer DROP FOREIGN KEY FK_DD80652D1E27F6BF');
  40.         $this->addSql('ALTER TABLE survey_question DROP FOREIGN KEY FK_EA000F691E27F6BF');
  41.         $this->addSql('ALTER TABLE survey_result_data DROP FOREIGN KEY FK_853037281E27F6BF');
  42.         $this->addSql('ALTER TABLE survey_question DROP FOREIGN KEY FK_EA000F69B3FE509D');
  43.         $this->addSql('ALTER TABLE survey_result DROP FOREIGN KEY FK_3B64097FB3FE509D');
  44.         $this->addSql('ALTER TABLE survey_result_data DROP FOREIGN KEY FK_85303728A2F1F46E');
  45.         $this->addSql('DROP TABLE answer');
  46.         $this->addSql('DROP TABLE question');
  47.         $this->addSql('DROP TABLE question_answer');
  48.         $this->addSql('DROP TABLE survey');
  49.         $this->addSql('DROP TABLE survey_question');
  50.         $this->addSql('DROP TABLE survey_result');
  51.         $this->addSql('DROP TABLE survey_result_data');
  52.     }
  53. }