Grails が作成したデータベースにデータを仕込むために groovySql を使用
Grailsではデフォルトで hsqldb のデータベースになっている。 このデータベースにあらかじめテストデータを入れておきたい。 どうすればいいか?
Grails Quick Startには、 grails-app/conf/BootStrap.groovy にコードをかけ、とのことだが、 大量にデータを仕込みたいので、自前で対応する方向を検討。 結論としては、groovySql を使って、Grailsが作り出したデータベースファイルにアクセスすることに。
groovySql
http://groovy.codehaus.org/api/groovy/sql/Sql.html を見ると使い方がわかる。
とりあえず、hsqldb のファイルデータベースを作成して、そこにアクセスする サンプルコードを書いたのでメモ。
事前準備 hsqldb.jar の配置
hsqldb.jarを入手して、~/.groovy/lib/hsqldb.jar に配置しておく。
初期化コード initdb.groovy
はまりポイント
ファイルにデータベースを保存する場合、 sql.execute('shutdown') しておかないと、処理結果が保存されないので注意。
データ取り出しコード
実行するための Makefile
all : initdb select
initdb select:
@groovy $@
clean :
@$(RM) -rf fileDb.*
実行方法
$ make initdb
$ make select
Hello
World