migrations/Version20260624120000.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 Version20260624120000 extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'Add dashboard query indexes on order table';
  11.     }
  12.     public function up(Schema $schema): void
  13.     {
  14.         $this->addSql('CREATE INDEX idx_order_checkout_created ON `order` (checkout_state, created_at)');
  15.         $this->addSql('CREATE INDEX idx_order_shop_checkout_created ON `order` (shop_id, checkout_state, created_at)');
  16.         $this->addSql('CREATE INDEX idx_order_franchise_checkout_created ON `order` (franchise_id, checkout_state, created_at)');
  17.         $this->addSql('CREATE INDEX idx_payment_checking_state ON payment (checking_id, state)');
  18.         $this->addSql('CREATE INDEX idx_customer_franchise_created ON customer_franchise (franchise_id, created_at, deleted)');
  19.         $this->addSql('CREATE INDEX idx_customer_shop_created ON customer_shop (shop_id, created_at, deleted)');
  20.     }
  21.     public function down(Schema $schema): void
  22.     {
  23.         $this->addSql('DROP INDEX idx_customer_shop_created ON customer_shop');
  24.         $this->addSql('DROP INDEX idx_customer_franchise_created ON customer_franchise');
  25.         $this->addSql('DROP INDEX idx_payment_checking_state ON payment');
  26.         $this->addSql('DROP INDEX idx_order_checkout_created ON `order`');
  27.         $this->addSql('DROP INDEX idx_order_shop_checkout_created ON `order`');
  28.         $this->addSql('DROP INDEX idx_order_franchise_checkout_created ON `order`');
  29.     }
  30. }