Claude-skill-registry dict

系统字典和业务字典配置。建表需要枚举字段或给表添加枚举类字段时使用

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/dict" ~/.claude/skills/majiayu000-claude-skill-registry-dict && rm -rf "$T"
manifest: skills/data/dict/SKILL.md
source content

字典配置

字段声明

-- 系统字典
`is_locked` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '锁定,dict:is_locked',
-- 业务字典, 字典编码格式: {mod}_{table}_{column}
`status` varchar(20) NOT NULL DEFAULT '' COMMENT '状态,dictbiz:ec_order_status',

添加字典

1. 创建 CSV 文件

src/tables/{mod}/
├── base_dict.{mod}.sql.csv        # 系统字典
├── base_dict_detail.{mod}.sql.csv # 系统字典明细
├── base_dictbiz.{mod}.sql.csv     # 业务字典
├── base_dictbiz_detail.{mod}.sql.csv # 业务字典明细

base_dictbiz.{mod}.sql.csv
中:

  • id
    使用
    nr uuid
    生成唯一 ID
  • lbl
    为:
    {table_comment}-{column_comment}
    , 例:
    订单-状态
  • type
    一般为:
    string
    , 或
    number
  • tenant_id
    固定为:
    ZDbZlC1OT8KaDg6soxMCBQ
    (默认租户)
  • is_sys
    一般为:
    1
    代表是否
    系统记录
    , 系统记录禁止用户修改/删除
  • is_add
    一般为:
    0
    代表是否允许用户新增字典明细
  • order_by
    从1开始依次递增
  • 例如:
id,code,lbl,type,order_by,tenant_id,is_sys,is_add
l4V3aK5XRCOqSWsc/59GEw,exh_booking_order_state,订单-状态,string,1,ZDbZlC1OT8KaDg6soxMCBQ,1,0

base_dictbiz_detail.{mod}.sql.csv
中:

  • id
    使用
    nr uuid
    生成唯一 ID
  • dictbiz_id
    为业务字典 ID, 对应
    base_dictbiz.{mod}.sql.csv
    中对应业务字典的 ID
  • _dictbiz_lbl
    为业务字典标签, 对应
    base_dictbiz.{mod}.sql.csv
    中对应业务字典的
    lbl
    字段
  • lbl
    字段为字典明细标签
  • val
    字段为字典明细值
  • order_by
    此业务字典从1开始依次递增
  • tenant_id
    固定为:
    ZDbZlC1OT8KaDg6soxMCBQ
    (默认租户)
  • is_sys
    一般为:
    1
    代表是否
    系统记录
    , 系统记录禁止用户修改/删除
  • 多个字典明细之间可以留空行, 方便阅读
  • 例如:
id,dictbiz_id,_dictbiz_lbl,lbl,val,order_by,tenant_id,is_sys
QudgQBmlTtGBastzn2jpwA,l4V3aK5XRCOqSWsc/59GEw,订单-状态,未支付,unpaid,1,ZDbZlC1OT8KaDg6soxMCBQ,1
23GjMKTwRKeUvIZvTCwHSg,l4V3aK5XRCOqSWsc/59GEw,,已支付,paid,2,ZDbZlC1OT8KaDg6soxMCBQ,1

2. 生成 UUID

nr uuid      # 生成1个
nr uuid -- 3 # 生成3个

3. 导入业务字典

nr importCsv {mod}/base_dictbiz.{mod}.sql.csv

内置系统字典

编码用途
is_deleted删除标记
is_locked锁定
is_enabled启用
is_default默认
yes_no是否

is_sys 字段

`is_sys` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '系统记录,dict:is_sys',

is_sys=1
时:

  • 自动生成枚举类型
  • 禁止用户修改/删除