migrations/Version20250814183609.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\DBAL\Types\Types;
  6. use Doctrine\Migrations\AbstractMigration;
  7. final class Version20250814183609 extends AbstractMigration
  8. {
  9.     public function getDescription(): string
  10.     {
  11.         return 'Create failed_inquiry_import table to track failed GED inquiry imports';
  12.     }
  13.     public function up(Schema $schema): void
  14.     {
  15.         $this->skipIf(
  16.             $schema->hasTable('failed_inquiry_import'),
  17.             'The failed_inquiry_import table already exists'
  18.         );
  19.         // Create the failed_inquiry_import table
  20.         $table $schema->createTable('failed_inquiry_import');
  21.         $table->addColumn('id'Types::INTEGER)
  22.             ->setAutoincrement(true)
  23.             ->setNotnull(true);
  24.         $table->addColumn('ged_id'Types::STRING)
  25.             ->setLength(255)
  26.             ->setNotnull(true);
  27.         $table->addColumn('failed_at'Types::DATETIME_IMMUTABLE)
  28.             ->setNotnull(true);
  29.         $table->addColumn('retry_count'Types::INTEGER)
  30.             ->setDefault(0)
  31.             ->setNotnull(true);
  32.         $table->setPrimaryKey(['id']);
  33.         $table->addUniqueIndex(['ged_id'], 'uniq_ged_id');
  34.         $table->addIndex(['retry_count'], 'idx_retry_count');
  35.     }
  36.     public function down(Schema $schema): void
  37.     {
  38.         $this->skipIf(
  39.             !$schema->hasTable('failed_inquiry_import'),
  40.             'The failed_inquiry_import table does not exist'
  41.         );
  42.         $schema->dropTable('failed_inquiry_import');
  43.     }
  44. }