1
0

20260428120015_create_job_runs.php 942 B

123456789101112131415161718192021222324252627
  1. <?php
  2. declare(strict_types=1);
  3. use App\Infrastructure\Db\Migrations\BaseMigration;
  4. final class CreateJobRuns extends BaseMigration
  5. {
  6. public function change(): void
  7. {
  8. $table = $this->table('job_runs');
  9. $table
  10. ->addColumn('job_name', 'string', ['limit' => 64, 'null' => false])
  11. ->addColumn('status', 'string', ['limit' => 32, 'null' => false])
  12. ->addColumn('items_processed', 'integer', ['null' => false, 'default' => 0])
  13. ->addColumn('error_message', 'text', ['null' => true])
  14. ->addColumn('triggered_by', 'string', ['limit' => 32, 'null' => false]);
  15. $this->addTimestampColumn($table, 'started_at');
  16. $this->addTimestampColumn($table, 'finished_at', ['null' => true]);
  17. $table
  18. ->addIndex(['job_name', 'started_at'], ['name' => 'idx_job_runs_job_started'])
  19. ->addIndex(['status'])
  20. ->create();
  21. }
  22. }