migrations/Version20260915144437.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.  * Tabla de cola de Symfony Messenger.
  8.  *
  9.  * El DSN del transport lleva auto_setup=0 (MESSENGER_TRANSPORT_DSN), así que la tabla no se
  10.  * crea sola en tiempo de ejecución. El esquema reproduce el de
  11.  * Symfony\Component\Messenger\Bridge\Doctrine\Transport\Connection::addTableToSchema().
  12.  */
  13. final class Version20260915144437 extends AbstractMigration
  14. {
  15.     public function getDescription(): string
  16.     {
  17.         return 'Tabla messenger_messages para la cola de Symfony Messenger';
  18.     }
  19.     public function up(Schema $schema): void
  20.     {
  21.         // IF NOT EXISTS a propósito: en algunos entornos la tabla ya se creó a mano, porque
  22.         // hasta ahora no había migración que la contemplara.
  23.         $this->addSql('CREATE TABLE IF NOT EXISTS messenger_messages (
  24.             id BIGINT AUTO_INCREMENT NOT NULL,
  25.             body LONGTEXT NOT NULL,
  26.             headers LONGTEXT NOT NULL,
  27.             queue_name VARCHAR(190) NOT NULL,
  28.             created_at DATETIME NOT NULL,
  29.             available_at DATETIME NOT NULL,
  30.             delivered_at DATETIME DEFAULT NULL,
  31.             INDEX IDX_75EA56E0FB7336F0 (queue_name),
  32.             INDEX IDX_75EA56E0E3BD61CE (available_at),
  33.             INDEX IDX_75EA56E016BA31DB (delivered_at),
  34.             PRIMARY KEY(id)
  35.         ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  36.     }
  37.     public function down(Schema $schema): void
  38.     {
  39.         $this->addSql('DROP TABLE IF EXISTS messenger_messages');
  40.     }
  41. }