找不到更改日志changelog.groovy

时间:2012-08-19 23:09:54

标签: java grails intellij-idea migration changelog

我在IntellijIDEA 11.1.3中创建了新的Grails项目并尝试运行它。

当我打开http://localhost:8080/application/dbdoc(访问控制器grails.plugin.databasemigration.DbdocController的默认操作)时,我不断收到消息:

Changelog changelog.groovy not found

虽然文件changelog.groovy存在于项目文件系统./grails-app/migrations中。我使用命令生成它:

grails dbm-create-changelog changelog.groovy 

现在它有以下内容:

databaseChangeLog = {
    changeSet(author: "Edward (generated)", id: "changelog") {
        // TODO add changes and preconditions here
    }
}

我需要做些什么才能让它发挥作用?

1 个答案:

答案 0 :(得分:6)

我也在运行IntelliJ 11.1.3。我正在使用Grails 2.1和database-migration:1.1

数据库迁移插件用于创建更改日志Groovy脚本,可用于在X点及时迁移数据库,以与您对Grails应用程序所做的新代码更改兼容。

例如,如果您的Grails应用程序今天正在生产中,使用您的域类,表等,并运行grails dbm-create-changelog changelog.groovy,这将为您提供基线changelog.groovy脚本。然后,您应该运行grails dbm-changelog-sync以表明您是最新的。

假设您已在现有域上添加了新的域类和修改后的字段。如果您一直在保持更改集并运行grails dbm-update,则数据库迁移插件将根据这些更改集更新数据库架构。

以下是我正在阅读/关注的优秀教程(不是我的),以了解有关数据库迁移插件的更多信息:Grails DB-Migration Plugin Tutorial