Top > Blog Index > Grails が作成したデータベースにデータを仕込むために groovySql を使用

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