跳转到内容
文档

DB Compare

比较两个连接之间的 schemas 和索引。带破坏性变更高亮的可视化 diff。接入为 PR gate,使 dev / staging / 生产之间的结构漂移在部署前被捕获。

它是什么

一个 workspace tab,并排比较两个连接的 schema + 索引。engine 从每一侧读取 collection 列表、样本文档(用于 schema 推断)和 `db.collection.getIndexes()`,然后渲染带破坏性变更标记(例如删除的字段、类型收窄、删除的索引)的结构 diff。

何时使用

在发布前运行以确认 dev / staging 与生产匹配。作为 PR gate 运行,使结构漂移无法在未审查的情况下落地。在事件响应期间运行以验证行为异常的 cluster 没有丢失索引。

如何打开

  1. 在 NoSqlStudio 桌面应用中,打开 Tools 菜单 → Migrate and Diff → Compare DBs,或按 Ctrl+Alt+Shift+C。
  2. workspace 打开,带 source / target 选择器和 Run Compare 按钮。
  3. 选择两个连接 + 要比较的数据库,然后点击 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 实际协调。