<?php
use App\Models\Plan;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('subscriptions', function (Blueprint $table) {
$table->id();
$table->string('tenant_id', 191);
$table->unsignedBigInteger('plan_id')->nullable();
$table->unsignedBigInteger('transaction_id')->nullable();
$table->float('plan_amount')->nullable()->default(0);
$table->integer('plan_frequency')->default(Plan::MONTHLY)->comment('1 = Month, 2 = Year');
$table->dateTime('starts_at');
$table->dateTime('ends_at');
$table->dateTime('trial_ends_at')->nullable();
$table->double('no_of_vcards')->nullable();
$table->boolean('status')->default(0);
$table->timestamps();
$table->foreign('plan_id')->references('id')->on('plans')
->onUpdate('cascade')
->onDelete('cascade');
$table->foreign('tenant_id')->references('id')->on('tenants')
->onUpdate('cascade')
->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('subscriptions');
}
};
|