こんにちは、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