0

我们希望使用数据库迁移工具通过我们的 Jenkins(Hudson) 构建服务器在我们的 UAT 和实时系统中实现 DB 模式更改。

最简单的方法是每次运行“-Dgrails.env=uat dbm-gorm-diff changelog-.xml --add”。但是,我的试验表明,即使在域模型中没有更改时,总是会创建一个“空”的变更日志并更新 changelog-master.xml。这并不理想。

是否有一个我没有找到的选项,上面写着:“仅在域模型更改时才创建更改日志”?

否则,看起来好像我必须在 Ant 构建脚本中添加步骤以在 changelog-.xml 文件中查找条目,如果未找到:删除该文件并从备份中恢复主变更日志,或对其进行编辑删除最新的“包含”条目。

如果有人有其他好的想法,他们将非常受欢迎。

问候,约翰

4

2 回答 2

1

避免 :

grails.plugin.databasemigration.MigrationUtils.dataSourceNameWithSuffix() 适用于参数类型:(null) 值:[null] at

您不必通过更改项目名称等来完成所有这些事情。您只需要清除

"path_to_user_dir"/.grails/projects/"project_name"/scriptCache 目录

于 2013-03-01T13:23:34.440 回答
0

安装 1.3.2 似乎在删除插件时未删除的某处添加了一些东西。对不起,不是一个非常科学的描述,但它就是这样出现的。

我现在回到 1.2.2,但无论我运行什么 dbm-* 脚本,我都会收到相同的错误:

=======================

错误 执行脚本时出错 DbmGenerateGormChangelog:groovy.lang.MissingMethodException:没有方法签名:静态 grails.plugin.databasemigration.MigrationUtils.dataSourceNameWithSuffix() 适用于参数类型:(null) 值:[null](注意:堆栈跟踪已在_DatabaseMigrationCommon_groovy$_run_closure1.doCall(_DatabaseMigrationCommon_groovy:37) 在 DbmGenerateGormChangelog$_run_closure1.doCall(DbmGenerateGormChangelog:23) 错误执行脚本 DbmGenerateGormChangelog 时出错:groovy.lang.MissingMethodException:没有方法签名:静态 grails.plugin.databasemigration。MigrationUtils.dataSourceNameWithSuffix() 适用于参数类型:(null) 值:[null]

===============

我删除了 1.3.2,重述了 GGTS,然后安装了早期版本,甚至回到 1.2.1,然后返回到 1.2.2,但没有任何变化。看起来我可能不得不尝试使用新的工作区,看看我是否可以让 1.2.2 再次工作。Rgds,约翰

于 2013-01-10T11:08:52.100 回答