<?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 Version20220527145307 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 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');
$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');
$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');
$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');
$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');
$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');
$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');
$this->addSql('ALTER TABLE question_answer ADD CONSTRAINT FK_DD80652D1E27F6BF FOREIGN KEY (question_id) REFERENCES question (id)');
$this->addSql('ALTER TABLE question_answer ADD CONSTRAINT FK_DD80652DAA334807 FOREIGN KEY (answer_id) REFERENCES answer (id)');
$this->addSql('ALTER TABLE survey_question ADD CONSTRAINT FK_EA000F69B3FE509D FOREIGN KEY (survey_id) REFERENCES survey (id)');
$this->addSql('ALTER TABLE survey_question ADD CONSTRAINT FK_EA000F691E27F6BF FOREIGN KEY (question_id) REFERENCES question (id)');
$this->addSql('ALTER TABLE survey_result ADD CONSTRAINT FK_3B64097FB3FE509D FOREIGN KEY (survey_id) REFERENCES survey (id)');
$this->addSql('ALTER TABLE survey_result_data ADD CONSTRAINT FK_85303728A2F1F46E FOREIGN KEY (survey_result_id) REFERENCES survey_result (id)');
$this->addSql('ALTER TABLE survey_result_data ADD CONSTRAINT FK_853037281E27F6BF FOREIGN KEY (question_id) REFERENCES question (id)');
$this->addSql('ALTER TABLE survey_result_data ADD CONSTRAINT FK_85303728AA334807 FOREIGN KEY (answer_id) REFERENCES answer (id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE question_answer DROP FOREIGN KEY FK_DD80652DAA334807');
$this->addSql('ALTER TABLE survey_result_data DROP FOREIGN KEY FK_85303728AA334807');
$this->addSql('ALTER TABLE question_answer DROP FOREIGN KEY FK_DD80652D1E27F6BF');
$this->addSql('ALTER TABLE survey_question DROP FOREIGN KEY FK_EA000F691E27F6BF');
$this->addSql('ALTER TABLE survey_result_data DROP FOREIGN KEY FK_853037281E27F6BF');
$this->addSql('ALTER TABLE survey_question DROP FOREIGN KEY FK_EA000F69B3FE509D');
$this->addSql('ALTER TABLE survey_result DROP FOREIGN KEY FK_3B64097FB3FE509D');
$this->addSql('ALTER TABLE survey_result_data DROP FOREIGN KEY FK_85303728A2F1F46E');
$this->addSql('DROP TABLE answer');
$this->addSql('DROP TABLE question');
$this->addSql('DROP TABLE question_answer');
$this->addSql('DROP TABLE survey');
$this->addSql('DROP TABLE survey_question');
$this->addSql('DROP TABLE survey_result');
$this->addSql('DROP TABLE survey_result_data');
}
}