migrations/Version20260708120000.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. final class Version20260708120000 extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'PAES-06: crea tabla sede (catálogo maestro) y agrega sede_id a ensayo_paes_sede (nullable para no romper datos existentes).';
  11.     }
  12.     public function up(Schema $schema): void
  13.     {
  14.         $this->addSql("CREATE TABLE sede (
  15.             id INT AUTO_INCREMENT NOT NULL,
  16.             nombre VARCHAR(255) NOT NULL,
  17.             activo TINYINT(1) NOT NULL DEFAULT 1,
  18.             fecha_creacion DATETIME NOT NULL,
  19.             UNIQUE KEY uniq_sede_nombre (nombre(191)),
  20.             PRIMARY KEY(id)
  21.         ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB");
  22.         $this->addSql("ALTER TABLE ensayo_paes_sede ADD sede_id INT DEFAULT NULL");
  23.         $this->addSql("CREATE INDEX idx_ensayo_paes_sede_sede ON ensayo_paes_sede (sede_id)");
  24.         $this->addSql("ALTER TABLE ensayo_paes_sede ADD CONSTRAINT fk_ensayo_paes_sede_sede
  25.             FOREIGN KEY (sede_id) REFERENCES sede (id) ON DELETE SET NULL");
  26.     }
  27.     public function down(Schema $schema): void
  28.     {
  29.         $this->addSql("ALTER TABLE ensayo_paes_sede DROP FOREIGN KEY fk_ensayo_paes_sede_sede");
  30.         $this->addSql("DROP INDEX idx_ensayo_paes_sede_sede ON ensayo_paes_sede");
  31.         $this->addSql("ALTER TABLE ensayo_paes_sede DROP COLUMN sede_id");
  32.         $this->addSql("DROP TABLE sede");
  33.     }
  34. }