fix(product): 設定 is_active 欄位預設為 true 並更新現有資料為啟用

This commit is contained in:
2026-02-05 16:18:03 +08:00
parent 24aed44cd3
commit 397a8a6484
3 changed files with 45 additions and 8 deletions

View File

@@ -0,0 +1,31 @@
<?php
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::table('products', function (Blueprint $table) {
$table->boolean('is_active')->default(true)->after('wholesale_price')->comment('是否啟用');
});
// 更新現有資料為啟用
\DB::table('products')->whereNull('is_active')->orWhere('is_active', false)->update(['is_active' => true]);
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('products', function (Blueprint $table) {
$table->dropColumn('is_active');
});
}
};

View File

@@ -0,0 +1,14 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Modules\Inventory\Models\Product;
class UpdateProductsActiveSeeder extends Seeder
{
public function run(): void
{
Product::query()->update(['is_active' => true]);
}
}