我在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
}
}
我需要做些什么才能让它发挥作用?
答案 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