<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

/**
 * 【任务 3 · 配置中心】键值运行时配置。
 *
 * 与 `config/*.php` / `.env` 分工：
 * - 密钥、站点 URL 等仍以 env 为准，不进库或不在此表明文扩写密钥；
 * - 可随时由运营调整的开关、限额类配置放本表，读时走 LotterySettings 带缓存。
 */
return new class extends Migration
{
    public function up(): void
    {
        Schema::create('lottery_settings', function (Blueprint $table) {
            $table->id();
            $table->string('setting_key', 160)->unique();
            $table->json('value_json');
            $table->string('group_name', 64)->default('general')->comment('控制台分组展示用');
            $table->string('description_zh')->nullable()->comment('运维说明');
            $table->timestamps();

            $table->index('group_name', 'idx_lottery_settings_group');
        });
    }

    public function down(): void
    {
        Schema::dropIfExists('lottery_settings');
    }
};
