<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20250911170000 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add "event" (varchar) to std_pages_tracking to store application enum value for tracked events (default: open_page)';
}
public function up(Schema $schema): void
{
// Adiciona coluna de evento com DEFAULT 'open_page'
$this->addSql(<<<'SQL'
ALTER TABLE `std_pages_tracking`
ADD COLUMN `event` VARCHAR(100) NULL
DEFAULT 'open_page'
COMMENT 'Tracked event kind (application enum value)'
AFTER `visited_at`
SQL);
// Índice para consultas por tipo de evento
$this->addSql('CREATE INDEX `idx_std_pages_tracking_event` ON `std_pages_tracking` (`event`)');
}
public function down(Schema $schema): void
{
// Remove índice e coluna
$this->addSql('DROP INDEX `idx_std_pages_tracking_event` ON `std_pages_tracking`');
$this->addSql('ALTER TABLE `std_pages_tracking` DROP COLUMN `event`');
}
}