34 lines
1.9 KiB
SQL
34 lines
1.9 KiB
SQL
-- 创建受控系统配置表;具体业务 Key 由所属业务模块注册,不在公共迁移中预置。
|
|
CREATE TABLE tb_system_config (
|
|
id bigserial PRIMARY KEY,
|
|
config_key varchar(150) NOT NULL,
|
|
config_value text NOT NULL,
|
|
value_type varchar(20) NOT NULL,
|
|
module varchar(100) NOT NULL,
|
|
description varchar(500) NOT NULL,
|
|
is_readonly boolean NOT NULL DEFAULT false,
|
|
is_sensitive boolean NOT NULL DEFAULT false,
|
|
creator bigint NOT NULL DEFAULT 0,
|
|
updater bigint NOT NULL DEFAULT 0,
|
|
created_at timestamptz NOT NULL DEFAULT NOW(),
|
|
updated_at timestamptz NOT NULL DEFAULT NOW(),
|
|
CONSTRAINT uq_system_config_key UNIQUE (config_key),
|
|
CONSTRAINT ck_system_config_value_type CHECK (value_type IN ('string', 'int', 'bool', 'json'))
|
|
);
|
|
|
|
CREATE INDEX idx_system_config_module_key ON tb_system_config (module, config_key);
|
|
|
|
COMMENT ON TABLE tb_system_config IS '受控系统配置表';
|
|
COMMENT ON COLUMN tb_system_config.id IS '系统配置主键ID';
|
|
COMMENT ON COLUMN tb_system_config.config_key IS '全局唯一的稳定配置Key';
|
|
COMMENT ON COLUMN tb_system_config.config_value IS '按值类型保存的配置值';
|
|
COMMENT ON COLUMN tb_system_config.value_type IS '值类型 string/int/bool/json';
|
|
COMMENT ON COLUMN tb_system_config.module IS '配置所属业务模块';
|
|
COMMENT ON COLUMN tb_system_config.description IS '配置用途中文说明';
|
|
COMMENT ON COLUMN tb_system_config.is_readonly IS '是否禁止通过在线接口修改';
|
|
COMMENT ON COLUMN tb_system_config.is_sensitive IS '是否为响应、日志和审计需要脱敏的配置';
|
|
COMMENT ON COLUMN tb_system_config.creator IS '首次创建配置的账号ID';
|
|
COMMENT ON COLUMN tb_system_config.updater IS '最近更新配置的账号ID';
|
|
COMMENT ON COLUMN tb_system_config.created_at IS '系统配置创建时间';
|
|
COMMENT ON COLUMN tb_system_config.updated_at IS '系统配置更新时间';
|