migrations/Version20250910182410.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 Version20250911170000 extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'Add "event" (varchar) to std_pages_tracking to store application enum value for tracked events (default: open_page)';
  11.     }
  12.     public function up(Schema $schema): void
  13.     {
  14.         // Adiciona coluna de evento com DEFAULT 'open_page'
  15.         $this->addSql(<<<'SQL'
  16.             ALTER TABLE `std_pages_tracking`
  17.             ADD COLUMN `event` VARCHAR(100) NULL
  18.                 DEFAULT 'open_page'
  19.                 COMMENT 'Tracked event kind (application enum value)'
  20.                 AFTER `visited_at`
  21.         SQL);
  22.         // Índice para consultas por tipo de evento
  23.         $this->addSql('CREATE INDEX `idx_std_pages_tracking_event` ON `std_pages_tracking` (`event`)');
  24.     }
  25.     public function down(Schema $schema): void
  26.     {
  27.         // Remove índice e coluna
  28.         $this->addSql('DROP INDEX `idx_std_pages_tracking_event` ON `std_pages_tracking`');
  29.         $this->addSql('ALTER TABLE `std_pages_tracking` DROP COLUMN `event`');
  30.     }
  31. }