Edit File: 2024_09_30_170624_create_subscriptions_table.php
<?php use App\Enums\PaymentTypeEnum; use App\Enums\SubscriptionType; use App\Models\Package; use App\Models\User; use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up() { Schema::create('subscriptions', function (Blueprint $table) { $table->id(); $table->foreignIdFor(User::class)->nullable()->index()->constrained()->cascadeOnDelete(); $table->foreignIdFor(Package::class)->nullable()->index()->constrained()->nullOnDelete(); $table->decimal('price')->default(0); $table->decimal('vat_amount')->default(0); $table->decimal('final_price')->default(0); $table->decimal('vat_ratio')->default(0); $table->enum('payment_type', PaymentTypeEnum::values())->default(PaymentTypeEnum::ONLINE); $table->date('start_date')->nullable(); $table->date('end_date')->nullable(); $table->enum('type', SubscriptionType::values())->default(SubscriptionType::PAID); $table->boolean('is_active')->default(true); $table->timestamps(); }); } public function down() { Schema::dropIfExists('subscriptions'); } };
Back to File Manager