文档
DB Compare
比较两个连接之间的 schemas 和索引。带破坏性变更高亮的可视化 diff。接入为 PR gate,使 dev / staging / 生产之间的结构漂移在部署前被捕获。
它是什么
一个 workspace tab,并排比较两个连接的 schema + 索引。engine 从每一侧读取 collection 列表、样本文档(用于 schema 推断)和 `db.collection.getIndexes()`,然后渲染带破坏性变更标记(例如删除的字段、类型收窄、删除的索引)的结构 diff。
何时使用
在发布前运行以确认 dev / staging 与生产匹配。作为 PR gate 运行,使结构漂移无法在未审查的情况下落地。在事件响应期间运行以验证行为异常的 cluster 没有丢失索引。
如何打开
- 在 NoSqlStudio 桌面应用中,打开 Tools 菜单 → Migrate and Diff → Compare DBs,或按 Ctrl+Alt+Shift+C。
- workspace 打开,带 source / target 选择器和 Run Compare 按钮。
- 选择两个连接 + 要比较的数据库,然后点击 Run Compare。
读取 diff
- Schema 列 — 在一侧存在而在另一侧不存在的字段、类型不匹配和必填字段更改。
- 索引列 — 在一侧存在的索引、具有不同 specs 的索引、应该唯一但不唯一的索引。
- 破坏性变更 — engine 标记为可能导致运行时失败的项以红色高亮并首先列出。
- Export — engine 将 diff 导出为 JSON 或 CSV 以附加到 ticket。Schema Diff workspace 消费相同的 diff 格式以发出迁移脚本。
限制(v1)
- Schema 推断基于样本 — 与 Schema Diff 相同的注意事项。设置样本大小以覆盖代表性文档。
- 在完整样本大小下比较大型 collections 很慢。wizard 默认为 1000 文档样本;仅当您特别需要完整覆盖时才提高。
- Compare 只读 — 不修改任何 cluster。使用 Schema Diff 或 DB Copy 实际协调。