0

grails v2.0.1 構成はファイルに外部化されているため、安全なパーティションに配置できます。

これは、Config.groovy と DataSource.groovy を変更することによって行われました。

grails.config.locations = ["file:/Volumes/secure/local.config.groovy"]

この追加された構成の場所が利用できない場合、Bootstrap コードはデータベースに接続できず、次の紛らわしいエラーが発生します。

Grails アプリケーションの実行エラー util.JDBCExceptionReporter - テーブル "USER" が見つかりません。SQL ステートメント: select count(*) as y0_ from user this_ ; ネストされた例外は org.hibernate.exception.SQLGrammarException: クエリを実行できませんでした

データ ソースが利用できないことを知らせるエラーが必要です。これを行うには、grails 構成で何を変更する必要がありますか?

class BootStrap {

    def init = { servletContext ->

        if (!User.count()) {
            setupAdminUsers() // inserts admin user for shiro
        }
    }
}
4

2 に答える 2

1

これらは古いスタイルのブート ストラップ データ移行であり、移行として追加する必要があります (データベース移行プラグインを使用) 。

于 2013-02-18T18:35:09.153 に答える
0

GORM を実行する前に条件を追加する方が良いですが、それでも間違っているようです。

class BootStrap {

    def grailsApplication    

    def init = { servletContext ->

        if (!grailsApplication.resources) {
           throw new RuntimeException("data source is missing")
        }

        if (!User.count()) {
            setupAdminUsers()
        }
    }
}
于 2013-02-18T18:27:09.830 に答える