migrations/Version20251031142808.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use App\Utils\CommonFunctions;
  5. use Doctrine\DBAL\Schema\Schema;
  6. use Doctrine\Migrations\AbstractMigration;
  7. /**
  8.  * Migración para insertar Landing Page "Descubrir BA" con sus bloques
  9.  */
  10. final class Version20251031142808 extends AbstractMigration
  11. {
  12.     public function getDescription(): string
  13.     {
  14.         return 'Inserción de Landing Page "Descubrir BA" con 3 bloques: Eventos gratuitos, Eventos Propios y Al aire libre';
  15.     }
  16.     public function up(Schema $schema): void
  17.     {
  18.         // Agregar columna principal a landing_page
  19.         $this->addSql('ALTER TABLE landing_page ADD COLUMN principal TINYINT(1) DEFAULT 0 NOT NULL');
  20.         // Insertar Landing Page "Descubrir BA" con sus bloques desde archivo SQL
  21.         $this->addSql(CommonFunctions::getFile(__DIR__ '/Data/insert_landing_page_descubrir_ba.sql'));
  22.     }
  23.     public function down(Schema $schema): void
  24.     {
  25.         // Eliminar la Landing Page "Descubrir BA"
  26.         // Los bloques asociados se eliminarán automáticamente por el CASCADE en la foreign key
  27.         $this->addSql("DELETE FROM landing_page WHERE titulo = 'Descubrir BA'");
  28.         // Eliminar columna principal
  29.         $this->addSql('ALTER TABLE landing_page DROP COLUMN principal');
  30.     }
  31. }