变更:创建新的独立迁移文件更新 user_purchases 的 ENUM
考虑到修改已执行过的迁移文件无法在生产环境复用, 现回退对 2026_03_01_145034... 的修改, 并专门创建一个新的迁移 2026_03_01_173619_update_user_purchases_status_enum.php 解决 used_pending/lost 枚举缺失问题,方便线上直接 migrate。
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
@@ -60,9 +59,6 @@ return new class extends Migration
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->integer('frozen_jjb')->default(0)->after('jjb')->comment('定时婚礼预冻结金币(待婚礼触发后正式扣除)');
|
||||
});
|
||||
|
||||
// ── user_purchases 表:扩展 status ENUM 值 ─────────────────
|
||||
DB::statement("ALTER TABLE user_purchases MODIFY COLUMN status ENUM('active','expired','used','cancelled','used_pending','lost') NOT NULL DEFAULT 'active'");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -83,8 +79,5 @@ return new class extends Migration
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->dropColumn('frozen_jjb');
|
||||
});
|
||||
|
||||
// 回滚 enum 状态扩展(如果有不包含 used_pending 以外的值,执行可能会失败,需谨慎回滚,这里退回到最初状态)
|
||||
DB::statement("ALTER TABLE user_purchases MODIFY COLUMN status ENUM('active','expired','used','cancelled') NOT NULL DEFAULT 'active'");
|
||||
}
|
||||
};
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* 执行迁移:为 user_purchases 的 status 添加 used_pending 和 lost 枚举。
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
DB::statement("ALTER TABLE user_purchases MODIFY COLUMN status ENUM('active','expired','used','cancelled','used_pending','lost') NOT NULL DEFAULT 'active'");
|
||||
}
|
||||
|
||||
/**
|
||||
* 回滚
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
// 回滚可能导致截断,如果没有 used_pending 的记录可以执行,为安全起见仅还原定义:
|
||||
DB::statement("ALTER TABLE user_purchases MODIFY COLUMN status ENUM('active','expired','used','cancelled') NOT NULL DEFAULT 'active'");
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user