annotate database/migrations/0001_01_01_000002_create_jobs_table.php @ 0:9d7dcd54c677

Initial Commit and package setup
author luka
date Sat, 23 Aug 2025 22:20:51 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
1 <?php
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
2
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
3 use Illuminate\Database\Migrations\Migration;
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
4 use Illuminate\Database\Schema\Blueprint;
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
5 use Illuminate\Support\Facades\Schema;
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
6
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
7 return new class extends Migration
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
8 {
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
9 /**
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
10 * Run the migrations.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
11 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
12 public function up(): void
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
13 {
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
14 Schema::create('jobs', function (Blueprint $table) {
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
15 $table->id();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
16 $table->string('queue')->index();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
17 $table->longText('payload');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
18 $table->unsignedTinyInteger('attempts');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
19 $table->unsignedInteger('reserved_at')->nullable();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
20 $table->unsignedInteger('available_at');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
21 $table->unsignedInteger('created_at');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
22 });
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
23
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
24 Schema::create('job_batches', function (Blueprint $table) {
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
25 $table->string('id')->primary();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
26 $table->string('name');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
27 $table->integer('total_jobs');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
28 $table->integer('pending_jobs');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
29 $table->integer('failed_jobs');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
30 $table->longText('failed_job_ids');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
31 $table->mediumText('options')->nullable();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
32 $table->integer('cancelled_at')->nullable();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
33 $table->integer('created_at');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
34 $table->integer('finished_at')->nullable();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
35 });
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
36
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
37 Schema::create('failed_jobs', function (Blueprint $table) {
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
38 $table->id();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
39 $table->string('uuid')->unique();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
40 $table->text('connection');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
41 $table->text('queue');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
42 $table->longText('payload');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
43 $table->longText('exception');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
44 $table->timestamp('failed_at')->useCurrent();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
45 });
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
46 }
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
47
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
48 /**
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
49 * Reverse the migrations.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
50 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
51 public function down(): void
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
52 {
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
53 Schema::dropIfExists('jobs');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
54 Schema::dropIfExists('job_batches');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
55 Schema::dropIfExists('failed_jobs');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
56 }
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
57 };