我在我的应用程序中使用数据库迁移插件,但是在使用具有数据库架构依赖性的其他插件时遇到问题。
我想使用迁移插件来设置/重构数据库,以准备使用新安装的插件(例如,分类插件)。问题在于,迁移插件在其他插件之后加载,因此我的应用程序无法运行,甚至无法运行迁移(不应用模式依赖)。在我看来,数据库迁移应该在其他插件之前运行(在99%的情况下),这似乎很合理。正确?
有没有办法(不使用“def loadBefore”自定义迁移插件)来强制迁移插件首先加载?
谢谢
最佳答案
不幸的是,插件开发人员设置了插件的dependsOn和loadAfter属性。
但是,您可以创建一个新环境,并使用以下config属性
grails.plugin.excludes排除许多插件。
基本上,我将定义用于数据库迁移的grails环境。我将在Config.groovy中为此环境定义一个数据源:
environments {
prodMig {
grails.plugin.excludes = 'interferingPlugin1,interferingPlugin2'
}
}
grails -Dgrails.env=prodMig dbm-update
https://stackoverflow.com/questions/9969301/