1

初めて実行していくつかのデータを永続化したgrailsアプリケーションがあります。次に、アプリケーションの外部でそのデータベースをチェックしたいと思います。どうやってやるの?

アプリケーションを再実行してこれを確認できる可能性がありますが、アプリケーションが実行を停止し、別の場所から null ポインター例外をスローしているため、スタックしています。したがって、アプリケーションの外部でデータを確認したい理由です。

DataSource.groovy環境の設定は次のとおりです。

development {
        dataSource {
            dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
            url = "jdbc:h2:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
        }

ご覧のとおりDB_CLOSE_ON_EXIT=FALSE、アプリケーションを再実行してもデータは消去されないのではないかと推測しています。

別の言い方をすれば、現在のプロジェクトをコンテキストから外して別のプロジェクトを実行した場合、データは残りますか?

これが簡単な質問である場合はお詫びします。私はgrailsを始めたばかりです。ありがとう

4

1 に答える 1

0

ご覧のとおり、DB_CLOSE_ON_EXIT=FALSE になっているので、アプリケーションを再実行してもデータは消去されないのではないかと推測しています。

DB_CLOSE_ON_EXITデータが消去されるかどうかには直接関係しません。詳細については、 http://www.h2database.com/html/features.html#do_not_close_on_exitを参照してください。

示した設定を使用すると、Grails アプリケーションが終了しても、データはデータベースに残っているはずです (ただし、そのためではありませんDB_CLOSE_ON_EXIT)。ファイルにあるものと同様の JDBC URL を使用して、任意のプログラムから同じデータベースに接続できDataSource.groovyます。同じディレクトリから他のアプリケーションを実行するか、URL にデータベースへの完全修飾パスを指定する必要があります ( jdbc:h2:/path/to/devDb.

それが役立つことを願っています。

于 2014-10-09T19:02:22.120 に答える