“导出配置”听起来像个简单功能,真正难的是:什么算配置,什么算现场数据,什么又是导出去反而会污染目标库的冗余字段。
主要参考:
enterprise/web_studio/models/studio_export_model.py
一、Preset models 说明 Studio 导出不是临时扫描,而是有产品判断
源码里维护了一大批 PRESET_MODELS_DEFAULTS:不同模型自带 sequence、默认 domain、是否包含 demo data、是否带附件等。
这说明导出策略不是“谁用到就导谁”,而是官方已经提前判断哪些对象在迁移/复制场景里更有价值。
二、默认 domain 是导出边界的一部分
比如某些模型只导 folder、只导非 draft/cancel 订单、或只导 workspace/shared 的 knowledge article。这个设计非常实用:它把“默认想带走的业务事实”直接编码进导出配置里。
三、字段排除为什么必须做成静态规则表
DEFAULT_FIELDS_TO_EXCLUDE 和抽象模型排除集合的价值,是阻止大量看似存在、实际不该迁移的字段混进结果,例如:
- token / access_url / access_token
- 计算缓存字段
- 某些反向关系和衍生统计
- 不稳定的图片派生字段
如果不先做这层排除,导出结果很容易变成“技术上很全,业务上很脏”。
四、结论
Studio 导出真正可学的点,是它明确承认“并不是所有现有字段都值得带走”。预设模型、默认 domain 和字段排除共同构成了可迁移边界。
DISCUSSION
评论区