GrailsでSQLiteしたメモ
以下のサイトを参考にしてSQLite+Grailsとか試す。
Big Oh No: Groovy on Grails & Sqlite
ここ↓からhibernateのDialectを持ってきてビルド
http://code.google.com/p/hibernate-sqlite/
mvn eclipse:clean mvn eclipse:eclipse
おっと。。。別にビルドしなくても、
srcディレクトリにある、SQLiteDialect.javaをそのままコピー。
src/main/java/dialect/SQLiteDialect.java
Grailsでの設定。
repositoriesのmavenCentral()を有効にして、dependenciesにruntime 'org.xerial:sqlite-jdbc:3.6.17.1'を追加する。
repositories { grailsPlugins() grailsHome() mavenCentral() //これを有効にする } dependencies { runtime 'org.xerial:sqlite-jdbc:3.6.20' //これを追加 }
driverClassName = "org.sqlite.JDBC" dialect = "dialect.SQLiteDialect" url = "jdbc:sqlite:dev.sqlite3"
以上です。
意外と簡単。まあ、Grailsですから:-)
ちょっと、まったぁーー!これだけではつまらない!こんな簡単なメモでいいのか!
って事で。
何だか毎回SQLiteDialect.java持ってくるのもめんどうだなってことで、sqlite-dialectをローカルレポに入れる説明。・・・長くなるのでgithubに置いておきました。
githubに置いてあるので、http://github.com/tyama/sqlite-dialect 持ってくる。
git clone git@github.com:tyama/sqlite-dialect.git
そしてローカルにインストール
mvn install
これで今後はソースコードを持ってこなくても、Grailsプロジェクト/grails-app/conf/BuildConfig.groovyを以下の設定にして、
repositories { grailsPlugins() grailsHome() mavenLocal() //これを有効にする mavenCentral() //これを有効にする } dependencies { runtime 'org.xerial:sqlite-jdbc:3.6.20' //これを追加 runtime 'sqlite-dialect:sqlite-dialect:1.0' //これを追加 }
- データソースの設定は、ちょっと事情があって変更で、
driverClassName = "org.sqlite.JDBC" dialect = "org.hibernate.dialect.SQLiteDialect" // ここさっきとかえた。 url = "jdbc:sqlite:dev.sqlite3"
これで完了です。
ん、で、なんだか物足りないので、なんとなくGradleのビルドファイルも書いた。Gradle派な人専用。
おー、ステキ!
usePlugin 'java' usePlugin 'maven' group="sqlite-dialect" artifactId="sqlite-dialect" version="1.0" dependencies { compile "org.hibernate:hibernate:3.2.6.ga" compile 'org.xerial:sqlite-jdbc:3.6.20' }
これの実行は、
gradle install
なんでマッピングの設定のインデックスきかないんだろ?気のせいかな?
まあいいか・・・。
手動でコンソールから入ってインデックス作りました。 sqlite3 dev.sqlite3