From 301fdb152a74ecb6bc436eaa40ea9eed86a9d9a7 Mon Sep 17 00:00:00 2001 From: Snider Date: Sun, 8 Feb 2026 18:08:20 +0000 Subject: [PATCH] fix(migration): remove FK constraints on non-existent orders/subscriptions tables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit webhook_events referenced orders and subscriptions tables that don't exist yet (billing module). Switched to plain unsignedBigInteger columns with indexes — FKs can be added when the billing tables are created. Co-Authored-By: Virgil --- .../2026_01_29_000001_create_webhook_events_table.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Migrations/2026_01_29_000001_create_webhook_events_table.php b/Migrations/2026_01_29_000001_create_webhook_events_table.php index f70c725..7670926 100644 --- a/Migrations/2026_01_29_000001_create_webhook_events_table.php +++ b/Migrations/2026_01_29_000001_create_webhook_events_table.php @@ -36,8 +36,9 @@ return new class extends Migration $table->unsignedSmallInteger('http_status_code')->nullable(); // Related entities (for linking/audit) - $table->foreignId('order_id')->nullable()->constrained('orders')->nullOnDelete(); - $table->foreignId('subscription_id')->nullable()->constrained('subscriptions')->nullOnDelete(); + // No FK constraint — orders/subscriptions tables are created by the billing module + $table->unsignedBigInteger('order_id')->nullable()->index(); + $table->unsignedBigInteger('subscription_id')->nullable()->index(); // Timestamps $table->timestamp('received_at'); @@ -51,8 +52,6 @@ return new class extends Migration // Query indexes $table->index(['gateway', 'status', 'received_at']); $table->index(['gateway', 'event_type']); - $table->index(['order_id']); - $table->index(['subscription_id']); $table->index(['status', 'received_at']); }); }