app/DoctrineMigrations/Version20260821090000.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 Version20260821090000 extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'Add payload column to dtb_mail_queue and drop unique_user_event for contact emails';
  11.     }
  12.     public function up(Schema $schema): void
  13.     {
  14.         if (!$schema->hasTable('dtb_mail_queue')) {
  15.             return;
  16.         }
  17.         // PostgreSQL: may be a unique index and/or a unique constraint
  18.         $this->addSql('ALTER TABLE dtb_mail_queue DROP CONSTRAINT IF EXISTS unique_user_event');
  19.         $this->addSql('DROP INDEX IF EXISTS unique_user_event');
  20.         $table $schema->getTable('dtb_mail_queue');
  21.         if (!$table->hasColumn('payload')) {
  22.             $this->addSql('ALTER TABLE dtb_mail_queue ADD payload TEXT DEFAULT NULL');
  23.         }
  24.     }
  25.     public function down(Schema $schema): void
  26.     {
  27.         if (!$schema->hasTable('dtb_mail_queue')) {
  28.             return;
  29.         }
  30.         $table $schema->getTable('dtb_mail_queue');
  31.         if ($table->hasColumn('payload')) {
  32.             $this->addSql('ALTER TABLE dtb_mail_queue DROP COLUMN payload');
  33.         }
  34.         $this->addSql('CREATE UNIQUE INDEX IF NOT EXISTS unique_user_event ON dtb_mail_queue (user_id, event_type)');
  35.     }
  36. }