2015-09-07 175 views
1

我们通过创建一个主应用程序和多个插件来模块化我们的应用程序。 Grails插件可以带来他们自己的域类。但是,当使用数据库迁移插件时,我无法找到执行由插件交付的迁移的方式。如何使用Grails和数据库迁移插件执行插件迁移?

例如:我有一个报告插件和一个报告域类。迁移文件应包含的架构(创建表):

报告插件:

+ -- grails-app/domain/com/acme/Report.groovy | + -- /migrations/changelog.groovy | + /version-1.0.groovy

如何配置数据库迁移插件在报告中,插件执行更改日志?

我使用的Grails 2.3.11和数据库迁移插件1.4.1

感谢您的帮助,

最好的问候, 丹尼尔

回答

0

你只需要在你的主数据库迁移插件应用程序,并且它会自动跟踪应用程序中所有就地插件的域更改。我们不需要单独在每个应用程序的插件上安装db迁移插件。

请确保所有包含域的插件都适用于主应用程序,即具有db迁移插件的插件。

您可以通过简单地将此代码添加到您的主应用程序的BuildConfig.groovy使就地插件:

grails.plugin.location."${pluginName}" = "${pathToYourPlugin}" 

您也可以参考上Effective Grails plugin development with in-place plugins这个博客。

+0

谢谢,但这不起作用有两个原因:第一,迁移插件没有在我的(就地)插件中查找任何变更集。第二:当我创建一个WAR文件并将这个文件传递给客户时,为什么它应该是否是一个就地插件(除此之外):创建WAR文件时,创建的插件不再是原地插件在詹金斯)。 – Phillip