【发布时间】:2015-12-28 02:33:37
【问题描述】:
对于我的集成测试,我在 bootstrap.groovy 中加载了一个“种子”数据库。 我也在开发过程中不时手动加载不同的数据库来尝试不同的场景。
麻烦的是,数据库迁移插件(非常感谢 Bert!)似乎只在启动期间运行,在进入引导代码之前,我看不到任何可以触发它再次运行的地方。
这意味着如果我加载一个“过时”的数据库,那么我必须关闭应用程序并重新启动它才能完成迁移。然后我必须记住拍摄“新”数据库的快照,这样我下次就不必再这样做了。
所有这些都会真正影响生产力,尤其是在多次重构中。
有没有更好的方法来做到这一点?理想情况下,我想要服务类方法'runMigrations()'或其他东西。然后我可以在加载工具之后或从我的引导代码中调用它。
有什么想法吗?
【问题讨论】:
-
迁移并非设计为在启动后运行。它们被设计为在启动前运行,因为在启动应用程序之前需要模式正确。您将需要使用其他工具来完成此操作。