migrations/Version20251030130718.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 Version20251030130718 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return 'Sistema de vigencias temporales para Headers y creación de tabla Bloques';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // Agregar campos fecha_inicio y fecha_fin a la tabla header
  18.         $this->addSql('ALTER TABLE header ADD fecha_inicio DATETIME NOT NULL');
  19.         $this->addSql('ALTER TABLE header ADD fecha_fin DATETIME NOT NULL');
  20.         
  21.         // Crear tabla bloque
  22.         $this->addSql('CREATE TABLE bloque (
  23.             id INT AUTO_INCREMENT NOT NULL,
  24.             landing_page_id INT DEFAULT NULL,
  25.             titulo VARCHAR(255) NOT NULL,
  26.             descripcion LONGTEXT DEFAULT NULL,
  27.             color_fondo VARCHAR(50) DEFAULT \'cyan\',
  28.             posicion INT DEFAULT NULL,
  29.             activo TINYINT(1) NOT NULL DEFAULT 1,
  30.             created_at DATETIME NOT NULL,
  31.             updated_at DATETIME NOT NULL,
  32.             deleted_at DATETIME DEFAULT NULL,
  33.             INDEX IDX_TITULO (titulo),
  34.             INDEX IDX_LANDING_PAGE (landing_page_id),
  35.             PRIMARY KEY(id),
  36.             CONSTRAINT FK_BLOQUE_LANDING_PAGE FOREIGN KEY (landing_page_id) REFERENCES landing_page (id) ON DELETE CASCADE
  37.         ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  38.     }
  39.     public function down(Schema $schema): void
  40.     {
  41.         // Revertir cambios: eliminar tabla bloque
  42.         $this->addSql('DROP TABLE bloque');
  43.         
  44.         // Revertir cambios: eliminar campos de fecha
  45.         $this->addSql('ALTER TABLE header DROP fecha_inicio');
  46.         $this->addSql('ALTER TABLE header DROP fecha_fin');
  47.     }
  48. }