SQL配置型表结构设计的核心是用通用字段承载多类业务配置,避免为每个新配置都建新表,同时保证可读性、可维护性和查询效率;包括基础配置表、带结构化约束的扩展配置表和多用途数据存储三类方案,并需注意高频字段拆表、JSON校验、变更同步及命名规范等避坑点。

SQL配置型表结构设计的核心是用通用字段承载多类业务配置,避免为每个新配置都建新表,同时保证可读性、可维护性和查询效率。
基础配置表:key-value + 元信息
一个轻量但灵活的配置主表,适用于开关、阈值、文案、路由规则等常见场景:
- config_key(VARCHAR,主键):唯一标识,如 "sms.enabled"、"order.timeout.minutes"
- config_value(TEXT):存储实际值,支持字符串、JSON、YAML片段(建议统一用 JSON 便于解析)
- data_type(VARCHAR):明确值类型,如 "boolean"、"integer"、"json",方便应用层校验与转换
- scope(VARCHAR,可选):作用域,如 "global"、"tenant_123"、"env:prod",支撑多租户或环境差异化配置
- updated_at / updated_by:审计必备字段
带结构化约束的扩展配置表(适用中高频变更场景)
当部分配置需强类型、枚举校验或关联其他实体时,可增加一张“配置定义表”+“配置实例表”:
- config_definition 表存元数据:code(如 "notify_template")、name、value_type(string/number/enum)、allowed_values(JSON 数组,如 ["email","sms","wechat"])、is_required
- config_instance 表存实际值:def_code(外键)、target_id(可为空,用于绑定用户/组织/渠道等)、value、status(active/draft/inactive)
- 这样既保留灵活性,又能在写入时做数据库级校验(如 CHECK 或触发器),也便于前端动态渲染配置表单
多用途数据存储:用“类型+属性”模拟半结构化实体
某些业务对象形态多变(如活动页组件、审批节点、设备能力描述),不值得为每种建独立表,可用统一模型承载:
标签: js 前端 json app ai 路由 作用域 red
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~