Hatena::ブログ(Diary)

leftovers... このページをアンテナに追加 RSSフィード

2010-03-07

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