<?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 Version20251110151358 extends AbstractMigration
{
public function getDescription(): string
{
return 'Creación de tablas animales_formulario, animales_pregunta y animales_pregunta_opcion';
}
public function up(Schema $schema): void
{
$this->addSql('CREATE TABLE animales_formulario (id INT AUTO_INCREMENT NOT NULL, id_externo BIGINT DEFAULT NULL, nombre VARCHAR(255) NOT NULL, titulo VARCHAR(255) NOT NULL, descripcion LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, UNIQUE INDEX UNIQ_ADBC81B03A909126 (nombre), INDEX IDX_LINK (nombre), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE animales_pregunta (id INT AUTO_INCREMENT NOT NULL, formulario_id INT NOT NULL, id_externo BIGINT DEFAULT NULL, nombre VARCHAR(255) NOT NULL, titulo VARCHAR(255) NOT NULL, descripcion VARCHAR(255) DEFAULT NULL, limite INT DEFAULT NULL, tipo VARCHAR(10) NOT NULL, ejemplo VARCHAR(255) DEFAULT NULL, opcional TINYINT(1) NOT NULL, extra TINYINT(1) DEFAULT 0 NOT NULL, posicion INT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_8FED2DA841CFE234 (formulario_id), INDEX IDX_LINK (nombre), UNIQUE INDEX animales_pregunta_formulario_nombre_unique (formulario_id, nombre), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE animales_pregunta_opcion (id INT AUTO_INCREMENT NOT NULL, pregunta_id INT NOT NULL, valor VARCHAR(255) NOT NULL, posicion INT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_C473A6F731A5801E (pregunta_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE animales_pregunta ADD CONSTRAINT FK_8FED2DA841CFE234 FOREIGN KEY (formulario_id) REFERENCES animales_formulario (id)');
$this->addSql('ALTER TABLE animales_pregunta_opcion ADD CONSTRAINT FK_C473A6F731A5801E FOREIGN KEY (pregunta_id) REFERENCES animales_pregunta (id)');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE animales_pregunta DROP FOREIGN KEY FK_8FED2DA841CFE234');
$this->addSql('ALTER TABLE animales_pregunta_opcion DROP FOREIGN KEY FK_C473A6F731A5801E');
$this->addSql('DROP TABLE animales_formulario');
$this->addSql('DROP TABLE animales_pregunta');
$this->addSql('DROP TABLE animales_pregunta_opcion');
}
}