1

私の Grails 1.3.7 アプリでは、ドメインを従来の Oracle データベースにマップしました。このベースには、GORM を使用してドメインにマッピングしたスキーマがいくつかあります。複雑ですが、機能します。

現在、フロントエンド チームが社外からアプリを実行できるように、Oracle データベースに依存しない環境を作成しようとしています。それらは外部委託されています。そこで、データソースを HSQLDB にポイントし、dbCreate = "create-drop" を設定する新しい grails 環境を作成することを考えました。

次のエラーが発生しています。

hbm2ddl.SchemaExport - 無効なスキーマ名: ステートメントの APR [テーブル APR.PLATAFORMA を作成]

起動時にテーブルを作成しようとするたびに。

問題は、休止状態にスキーマを作成するように依頼する方法が見つからなかったことです。また、スターアップでプログラムでスキーマを作成しようとしましたが、成功しませんでした。H2 INIT プロパティも使用しようとしました H2でメモリ内データベースにスキーマを自動作成できますか? しかし、どちらも成功しません。

何か案は?

4

1 に答える 1

0

Bean の後処理をいくつか作成し、HSQLDialect をハッキングした後、最善の解決策はドメインからスキーマ情報を削除することであることに気付きました。

その結果、両方のデータベース (HSQLDB と H2) に一意の制約に関する問題がありました。私の固有の制約は読み取り専用クラスで定義されていたので、それらを削除することも気にしませんでした。

アプリは引き続き oracle データベースで動作しますが、同じスキーマ内のすべてのテーブルを使用して、メモリ内データベース (HSQLDB を使用しています) で実行できるようになりました。

于 2013-04-09T22:17:21.370 に答える