migrations/Version20251222000000.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.  * Add performance indexes to std_pages_tracking table for recommendation queries
  8.  */
  9. final class Version20251222000000 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return 'Add performance indexes to std_pages_tracking table for recommendation queries';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         $this->addSql('CREATE INDEX idx_tracking_id ON std_pages_tracking (tracking_id)');
  18.         $this->addSql('CREATE INDEX idx_visited_at ON std_pages_tracking (visited_at)');
  19.         $this->addSql('CREATE INDEX idx_hashed_ip ON std_pages_tracking (hashed_ip)');
  20.         $this->addSql('CREATE INDEX idx_event ON std_pages_tracking (event)');
  21.         $this->addSql('CREATE INDEX idx_tracking_page_event ON std_pages_tracking (tracking_id, page_id, event)');
  22.         $this->addSql('CREATE INDEX idx_hashed_ip_visited ON std_pages_tracking (hashed_ip, visited_at)');
  23.     }
  24.     public function down(Schema $schema): void
  25.     {
  26.         $this->addSql('DROP INDEX idx_tracking_id ON std_pages_tracking');
  27.         $this->addSql('DROP INDEX idx_visited_at ON std_pages_tracking');
  28.         $this->addSql('DROP INDEX idx_hashed_ip ON std_pages_tracking');
  29.         $this->addSql('DROP INDEX idx_event ON std_pages_tracking');
  30.         $this->addSql('DROP INDEX idx_tracking_page_event ON std_pages_tracking');
  31.         $this->addSql('DROP INDEX idx_hashed_ip_visited ON std_pages_tracking');
  32.     }
  33. }