<?php

use App\Models\UserGroup;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration
{
    public function up(): void
    {
        // 确保系统存在 code 为 "default" 的默认用户组
        $exists = UserGroup::where('code', 'default')->exists();

        if (!$exists) {
            // 先清除其他用户组的默认标记
            UserGroup::where('is_default', 1)->update(['is_default' => 0]);

            UserGroup::create([
                'name' => '默认用户组',
                'code' => 'default',
                'description' => '新注册用户的默认用户组',
                'is_default' => 1,
                'sort' => 0,
                'status' => 1,
            ]);
        } else {
            // 已存在 default 用户组，确保其 is_default = 1
            UserGroup::where('code', 'default')->update(['is_default' => 1]);
        }
    }

    public function down(): void
    {
        // 回滚时仅移除 is_default 标记，不删除用户组
        UserGroup::where('code', 'default')->update(['is_default' => 0]);
    }
};
