grails - Grails数据迁移回滚

标签 grails gorm grails-plugin grails-2.0 grails-domain-class

嗨,我正在尝试使用Grails域类进行一些非常简单的操作。我正在向类(class)添加一个字段,并且想使用数据迁移插件回滚一次,以便删除添加的字段。

首先,我创建了初始更改日志,如下所示:

grails dbm-generate-changelog changelog.groovy

然后,我将以下内容添加到Config.groovy文件中:

grails.plugin.databasemigration.updateOnStart = true
grails.plugin.databasemigration.updateOnStartFileNames = ['changelog.groovy']

然后,我向域类添加了一个额外的字段,并执行以下操作:

Grails dbm-gorm-diff添加了new-field.groovy --add

我运行了该应用程序(grails运行应用程序),然后执行:

grails dbm-rollback-count 1

之后,我使用以下命令再次运行该应用程序:grails run-app
但 Realm 仍然存在。

我正在使用MySQL作为数据库。这是我在DataSource.groovy中配置它的方式:

dataSource {
    pooled = true
    driverClassName = "com.mysql.jdbc.Driver"
dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
}
hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = false
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
    development {
        dataSource {
        dbCreate = 'update'
            url = "jdbc:mysql://localhost/dashboard?useUnicode=yes&characterEncoding=UTF-8"
    username ="foo"
    password = "bar"
    }
}

..... and on.....

有人可以指导我如何执行回滚吗?
我在用:
Grails 2.2.2
数据库迁移:1.3.2

最佳答案

当执行 grails dbm-rollback-count 1 时,它仅通过使用日志中设置的最后更改并将其撤消的groovy changelog来对数据库进行更改。如果再次运行您的应用程序,则Groovy.config中的以下几行会将这些字段放回表中:

grails.plugin.databasemigration.updateOnStart = true grails.plugin.databasemigration.updateOnStartFileNames = ['changelog.groovy']

我不确定在我的情况下dbm-rollback-count服务器的用途是什么,但是它的作用是什么。
我以为执行回滚不仅会删除数据库中的最后一个变更集(添加的字段),还会从域类中删除该字段变量。

关于grails - Grails数据迁移回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17141070/

相关文章:

hibernate - ils。 GORM。创建新实例时出错

json - 如何告诉 Grails 将 JSONNull 呈现为 null?

grails - 如何在Grails中的gsp上根据环境在Config.groovy中设置值并获得相同参数的不同值?

grails - Grails 1.3.7的CXF插件版本

grails - 完全禁用javamelody grails插件

grails - 在 Grails + Apache Shiro 中获取 session 创建时间

grails - Grails ORM一对多无法正常工作

grails - Grails-gorm false或NULL

mongodb - 使用MongoDB的Grails无法保存空值

grails - Spring Security UI,有关其他补充表单/UI插件的推荐