配置改为数据库存储

将运行时 JSON 配置迁入 app_config_entries,启动时从文件导入并删除源文件。
This commit is contained in:
yml2213
2026-07-10 09:14:12 +08:00
parent ce01c2aa34
commit 3642ad8aec
20 changed files with 577 additions and 251 deletions
@@ -36,6 +36,25 @@ COMMENT ON TABLE admin_users IS '后台管理用户';
COMMENT ON TABLE admin_audit_logs IS '后台操作审计日志';
COMMENT ON COLUMN admin_audit_logs.payload_json IS '审计上下文快照,保留请求关键字段和变更内容';
-- 运行时配置中心。
CREATE TABLE IF NOT EXISTS app_config_entries (
config_key TEXT PRIMARY KEY,
config_json JSONB NOT NULL DEFAULT '{}'::jsonb,
source_file_path TEXT NOT NULL DEFAULT '',
migrated_from_file BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_app_config_entries_updated_at
ON app_config_entries(updated_at DESC);
COMMENT ON TABLE app_config_entries IS '运行时配置中心,保存从 JSON 文件迁移来的平台和系统配置';
COMMENT ON COLUMN app_config_entries.config_key IS '配置唯一键';
COMMENT ON COLUMN app_config_entries.config_json IS '配置内容 JSON';
COMMENT ON COLUMN app_config_entries.source_file_path IS '首次迁移来源文件路径,便于排查历史来源';
COMMENT ON COLUMN app_config_entries.migrated_from_file IS '是否由旧 JSON 文件迁移产生';
-- 履约档案与履约资源要求。
CREATE TABLE IF NOT EXISTS fulfillment_profiles (
id BIGSERIAL PRIMARY KEY,