id(); $table->foreignId('user_id')->constrained()->onDelete('cascade'); $table->foreignId('plan_id')->constrained('membership_plans')->onDelete('cascade'); $table->enum('status', ['active', 'expired', 'cancelled'])->default('active'); $table->timestamp('starts_at')->nullable(); $table->timestamp('expires_at')->nullable(); $table->string('payment_method')->nullable(); // 'manual', 'stripe', vb. $table->string('payment_ref')->nullable(); $table->text('notes')->nullable(); // admin notu $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('subscriptions'); } };