ulid('id')->primary(); $table->foreignUlid('project_id')->constrained()->cascadeOnDelete(); $table->string('fingerprint')->index(); $table->string('title'); $table->string('culprit')->nullable(); $table->string('level')->default('error'); $table->string('status')->default('unresolved'); $table->timestamp('first_seen_at'); $table->timestamp('last_seen_at'); $table->unsignedInteger('times_seen')->default(1); $table->boolean('is_regression')->default(false); $table->json('metadata')->nullable(); $table->timestamps(); $table->unique(['project_id', 'fingerprint']); $table->index(['project_id', 'status', 'last_seen_at']); }); } public function down(): void { Schema::dropIfExists('issues'); } };