SQLiteをgrailsで動作させようとしています...私がウェブで見つけたものは少し古くなっているようです-アイビーやプラグインなどへの参照ですが、これらに基づいています:
http://stackoverflow.com/questions/1199512/grails-sqlite
http://bigohno.blogspot.com/2010/01/groovy-on-grails-sqlite.html
http://maven-repository.com/artifact/org.xerial/sqlite-jdbc/3.6.17
テスト環境で動作させることができました...奇妙なことに、grails アプリを "prod war" して tomcat にデプロイすると、次のように失敗します。
方言クラスが見つかりません: hibernate.SQLiteDialect
これが私のセットアップです:
conf/hibernate に SQLiteDialect のクラスを追加しました。この .java はここから取得されましたhttp://code.google.com/p/hibernate-sqlite/
次に、私の DataSource.groovy には次のものがあります。
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = false
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
development {
dataSource {
// SQLite
// !!!see also BuildConfig for Dependancies!!!
dbCreate="update"
url='jdbc:sqlite:C:\\sqlite-shell-win32-x86-3080100\\rss_1.db'
logSql="true"
dialect="hibernate.SQLiteDialect"
driverClassName="org.sqlite.JDBC"
readOnly="true"
}
}
production {
dataSource {
// SQLite
dbCreate="update"
url="jdbc:sqlite:/opt/sqlite/dbs/rss/1/rss_1.db"
logSql="true"
dialect="hibernate.SQLiteDialect"
driverClassName="org.sqlite.JDBC"
readOnly="true"
showsql="false"
}
}
}
BuildConfig.groovy には次のものがあります。
dependencies {
runtime 'org.xerial:sqlite-jdbc:3.6.17'
}
また、.java ダイアレクト クラスを jar して lib に入れました。libにsqlite-jdbc-3.7.15-M1.jarも入れました。
現在、開発環境でアプリを実行すると正常に動作します...しかし、Tomcatにデプロイすると方言エラーが発生します。
方言の製品環境に対して何か特別なことをする必要がありますか?