6

GrailsIntellijIDEA 11.1.3で新しいプロジェクトを作成し、実行してみました。

開くと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
    }
}

それを機能させるために私は何をする必要がありますか?

4

1 に答える 1

6

IntelliJ11.1.3も実行しています。私はGrails2.1とを使用していdatabase-migration:1.1ます。

データベース移行プラグインは、変更ログGroovyスクリプトを作成するために使用されます。このスクリプトを使用して、時点Xでデータベースを移行し、Grailsアプリに加えた新しいコード変更と互換性を持たせることができます。

たとえば、Grailsアプリが現在本番環境にあり、ドメインクラス、テーブルなどを使用して実行している場合grails dbm-create-changelog changelog.groovy、これによりベースラインのchangelog.groovyスクリプトが提供されます。次に、実行grails dbm-changelog-syncして最新であることを示す必要があります。

新しいドメインクラスを追加し、既存のドメインクラスにフィールドを変更したとします。チェンジセットを維持して実行している場合grails dbm-update、データベース移行プラグインはそれらのチェンジセットに基づいてデータベーススキーマを更新します。

これは、データベース移行プラグインについて詳しく知るために読んだりフォローしたりしている優れたチュートリアル(私のものではありません)です:GrailsDB-MigrationPluginチュートリアル

于 2012-08-20T19:18:08.660 に答える