用途:在代码评审中防止 PR 意外夹带无关的 schema.rb 变更。这类问题常见于开发者先拉取 main 并运行迁移,再切回特性分支运行自己的迁移,导致 schema.rb 中包含 main 的列,污染 PR。
主要能力:比对 PR 中的迁移文件与 schema.rb 差异,判断每处列、表、索引、版本号变更是否来自 PR 的迁移;识别常见的漂移模式,如额外列、额外索引、版本号高于 PR 最新迁移。
使用方式:先用 git diff main --name-only -- db/migrate/ 列出 PR 迁移并提取 14 位版本号,再用 git diff main -- db/schema.rb 查看 schema 变更,然后逐项交叉验证。修复可用 git checkout main -- db/schema.rb 后执行 bin/rails db:migrate,或手动将版本行改为 PR 迁移对应时间戳。
适用场景:评审含 schema 变更的 PR,建议在其他数据库相关检查前先运行。
限制:资料未提供其具体实现形式、安装方法、平台支持、收费与效果数据。