1

こんにちは、Grails ドメイン クラスで非常に単純なことを試みています。クラスにフィールドを追加しています。追加したフィールドが削除されるように、データ移行プラグインを使用して一度ロールバックしたいと考えています。

最初に、次のように初期変更ログを作成しました。

grails dbm-generate-changelog changelog.groovy

次に、Config.groovy ファイルに以下を追加しました。

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

次に、ドメイン クラスに追加のフィールドを追加し、次の操作を実行しました。

grails dbm-gorm-diff added-new-field.groovy --add

アプリ (grails run-app) を実行した後、以下を実行します。

grails dbm-ロールバック-カウント 1

その後、grails run-app を使用してアプリを再度実行しますが、フィールドはまだそこにあります。

データベースに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 database-migration:1.3.2

4

1 に答える 1