查看示例文档,Mongock 似乎没有在 ChangeUnit 文件名中嵌入任何排序。
例如,“入门”文档显示以下代码片段:
@ChangeUnit(id="client-initializer", order = "001", author = "mongock")
public class ClientInitializerChange {
...
}
进入项目并创建新的迁移脚本的人在不进入数据库或扫描迁移文件以查找最新的 ChangeUnit 的情况下将不知道分配什么顺序。
相反,将
ClientInitializerChange.java
重命名为 A001_ClientInitializerChange.java
似乎更有用。这样,可以逐步对步骤进行排序和理解。
因为这是我在Flyway等迁移工具中看到的约定,我想知道这种遗漏是否是故意的,或者是否有任何我没有考虑到的角度。
Mongock 的执行过程将按其
order
值(@ChangeUnit
注释属性)对 ChangeUnit 进行排序。
如果有两个或多个 ChangeUnit 具有相同的
order
值,则 Mongock 将按类规范名称对它们进行排序。