Grails 2.3 迁移脚本不会在集成测试期间运行
Posted
技术标签:
【中文标题】Grails 2.3 迁移脚本不会在集成测试期间运行【英文标题】:Grails 2.3 Migration Scripts Won't Run During Integration Tests 【发布时间】:2013-12-03 14:07:09 【问题描述】:以前在 Grails 2.2.4 中,当运行集成测试时,数据库迁移插件会启动 liquibase 并读取我的 changelog.xml 文件并用我的数据填充内存数据库。
然后我的集成测试将查询该数据,一切都很好。升级到 Grails 2.3.2 后,当我开始集成测试时,迁移脚本不再运行。
我尝试添加:
grails.plugin.databasemigration.autoMigrateScripts = ['RunApp', 'TestApp']
相信这会让迁移在测试期间运行。然而这并没有帮助。
是否可以在 Grails 2.3.2 中在集成测试期间运行迁移脚本?如果有怎么办?
【问题讨论】:
看来你已经在邮件列表中回复了:-) 我做到了!我只是无法在这里回答我自己的问题,因为 *** 有 24 小时的时间回答你自己的问题。 【参考方案1】:经过大量搜索,我已经解决了这个问题。我最终在插件 JIRA 上找到了这个:http://jira.grails.org/browse/GPDATABASEMIGRATION-160
事实证明这实际上是插件中的一个错误,临时解决方法是使用:grails.plugin.databasemigration.forceAutoMigrate = true
希望这个问题在插件的下一个版本中得到修复,在此之前我希望这对某人有所帮助。
【讨论】:
与 grails 3 相同的问题,以上解决方案不起作用。 forceAutoMigrate 为我工作。圣杯 2.4.4。构建配置:org.liquibase:liquibase-core:2.0.5
和 org.grails.plugins:database-migration:1.4.1
可能需要注意,现在很久以后,这张票仍然没有解决,但现在存在于这里:grails.atlassian.net/browse/GPDATABASEMIGRATION-160以上是关于Grails 2.3 迁移脚本不会在集成测试期间运行的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Grails 2.1 迁移到 Grails 2.3 应用程序?
Grails 2.3 数据库迁移上的“加载插件管理器时出错:TomcatGrailsPlugin”
从 Intellij IDEA 开始的慢速 Grails 测试