feat: introduce ProductCategoryResource and refactor database migrations by deleting old tables and consolidating transaction schema.

This commit is contained in:
pbao9
2026-02-18 21:44:31 +07:00
parent 9a2cab4521
commit 75791d6257
12 changed files with 76 additions and 163 deletions
@@ -17,7 +17,7 @@ return new class extends Migration {
$table->foreignId('parent_id')->nullable()
->constrained('product_categories')
->nullOnDelete();
$table->enum('type', ['vps', 'hosting', 'cloud', 'email', 'ssl', 'domain', 'web_design', 'addon'])->nullable();
$table->boolean('is_active')->default(true);
$table->integer('sort_order')->default(0);
@@ -1,49 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('hosting', function (Blueprint $table) {
$table->id()->autoIncrement();
$table->string('name', 255)->nullable();
$table->string('slug')->nullable();
$table->integer('price')->nullable();
$table->integer('price_sale')->nullable();
$table->integer('ram')->default(0)->nullable();
$table->integer('disk')->default(125)->nullable();
$table->integer('cpu')->default(1)->nullable();
$table->integer('gpu')->default(0)->nullable();
$table->integer('ip')->default(0)->nullable();
$table->integer('bandwidth')->default(1000)->nullable();
$table->integer('module_host_id')->nullable()->index();
$table->text('description')->nullable();
$table->string('template', 255)->nullable();
$table->tinyInteger('type_id')->default(0)->index();
$table->integer('group_id')->default(0)->index();
$table->tinyInteger('status')->default(1);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('hosting', function (Blueprint $table) {
$table->dropForeign('group_id');
$table->drop();
});
}
};
@@ -1,45 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
Schema::create('vps', function (Blueprint $table) {
$table->id()->autoIncrement();
$table->string('name', 100)->nullable();
$table->integer('cpu')->default(1);
$table->integer('ram')->default(1);
$table->integer('disk')->default(10);
$table->integer('gpu')->nullable();
$table->text('description')->nullable();
$table->integer('bandwidth')->default(100);
$table->integer('price')->nullable();
$table->integer('price_sale')->nullable();
$table->bigInteger('module_host_id')->default(0)->index();
$table->integer('type_id')->default(0)->index();
$table->integer('group_id')->default(0)->index();
$table->tinyInteger('status')->default(1);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schema::dropIfExists('vps');
}
};
@@ -16,6 +16,8 @@ return new class extends Migration {
->constrained('customers')
->cascadeOnDelete();
$table->tinyInteger('status')->default(0)->comment('0: pending, 1: completed, 2: fail');
$table->timestamps();
$table->softDeletes();
});
@@ -7,21 +7,21 @@ use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up()
{
Schema::table('customers', function (Blueprint $table) {
$table->softDeletes();
});
// Schema::table('customers', function (Blueprint $table) {
// $table->softDeletes();
// });
Schema::table('invoice', function (Blueprint $table) {
$table->softDeletes();
});
// Schema::table('invoice', function (Blueprint $table) {
// $table->softDeletes();
// });
Schema::table('order', function (Blueprint $table) {
$table->softDeletes();
});
// Schema::table('order', function (Blueprint $table) {
// $table->softDeletes();
// });
Schema::table('transaction', function (Blueprint $table) {
$table->softDeletes();
});
// Schema::table('transaction', function (Blueprint $table) {
// $table->softDeletes();
// });
}
public function down()
@@ -7,9 +7,9 @@ use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up()
{
Schema::table('transaction', function (Blueprint $table) {
$table->softDeletes();
});
// Schema::table('transaction', function (Blueprint $table) {
// $table->softDeletes();
// });
}
public function down()
@@ -1,30 +0,0 @@
<?php
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('transactions', function (Blueprint $table) {
$table->id();
$table->string('trans')->nullable();
$table->integer('amount')->nullable();
$table->foreignId('customer_id')
->constrained('customers')
->cascadeOnDelete();
$table->timestamps();
$table->softDeletes();
});
}
public function down()
{
Schema::table('transactions', function (Blueprint $table) {
$table->dropForeign(['customer_id']);
});
}
};
@@ -1,21 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up()
{
Schema::table('transactions', function (Blueprint $table) {
$table->tinyInteger('status')->default(0)->comment('0: pending, 1: completed, 2: fail')->after('amount');
});
}
public function down()
{
Schema::table('transactions', function (Blueprint $table) {
$table->dropColumn('status');
});
}
};