30 lines
1.2 KiB
PHP
Executable File
30 lines
1.2 KiB
PHP
Executable File
<?php
|
|
|
|
use Illuminate\Database\Capsule\Manager as Capsule;
|
|
use Illuminate\Database\Schema\Blueprint;
|
|
|
|
class CreateAffiliateCommissionsTable
|
|
{
|
|
public function up()
|
|
{
|
|
if (!Capsule::schema()->hasTable('affiliate_commissions')) {
|
|
Capsule::schema()->create('affiliate_commissions', function (Blueprint $table) {
|
|
$table->bigIncrements('affiliate_commissions_id');
|
|
$table->unsignedBigInteger('affiliate_commissions_affiliate_id');
|
|
$table->string('affiliate_commissions_order_id')->nullable(); // Or whatever identifier for the sale
|
|
$table->decimal('affiliate_commissions_amount', 10, 2);
|
|
$table->decimal('affiliate_commissions_commission_rate', 5, 2);
|
|
$table->enum('affiliate_commissions_status', ['pending', 'approved', 'rejected', 'paid'])->default('pending');
|
|
$table->text('affiliate_commissions_notes')->nullable();
|
|
$table->timestamps();
|
|
|
|
$table->foreign('affiliate_commissions_affiliate_id')->references('affiliates_id')->on('affiliates')->onDelete('cascade');
|
|
});
|
|
}
|
|
}
|
|
|
|
public function down()
|
|
{
|
|
Capsule::schema()->dropIfExists('affiliate_commissions');
|
|
}
|
|
} |