2012-03-09 3 views
0

Grailsでは、GORM/ORMを使用していた場合と同じ方法でSQL/DDLを使用してテーブルを作成/削除できますか?ORMを使用する代わりに、Plain SQLテーブルをGrails Appに追加しますか?

たとえば、GORM/ORMを使用する場合、永続性に使用されるテーブルは定期的に作成/削除され、インテグレーションテストの実行時およびアプリケーションの実行時に挿入されます。

"高度な使用法"という名前の例のようにGroovyを使ってこれを行う方法があると知っていますが、私はフレームワークに既に組み込まれている行に沿って何かを探しています。 DDLをロードしてSQLファイルを指定できます。

+0

また、このためにGrailsアプリケーションにDBUnitのようなものを追加する必要がありますか? – leeand00

+1

ユニットテストのランタイム中にテーブルが作成されない場合、永続性が偽装されます。統合テストはい。あなたが達成しようとしていることについていくつか詳しく説明できますか? Bootstrap.groovyを使用してデータベースマイグレーションを使用する方法から、Grailsでドメインモデル外に何かを作成する必要があるのはなぜですか? –

+0

@MarcinNiebudekええ、あなたは私の悪いところです、私はちょうど統合テストを話しています...ユニットテストはただ1つのコンポーネントをテストすることになっています、そして、その部分が嘲笑されるべきであるので、 – leeand00

答えて

1

私はフレームワークに既に組み込まれている行に沿って、DDLをロードするSQLファイルを指定できる場所を探しています。

私が知る限り、Grailsに組み込まれているようなサポートはありません。あなたはそれを自分で書く必要があります。幸いにもそれほど難しいことではありません。ここでは実施計画だ:

  • ストアあなたのDDLファイルconfディレクトリにBootstrap.groovy
  • は、Bootstrap.groovyinit閉鎖ではデータソースのSpring Bean
  • を依存関係注入への接続を取得するためにデータソースを使用接続を使用したDB
  • 、DATABを落とし、データベースを作成し、Bootstrap.groovydestroy閉鎖でそれ
  • に対するDDLファイル内のSQL文を実行ase
+0

これはかなりまっすぐに聞こえます。ありがとうドン! :) – leeand00

関連する問題