These are chat archives for scalikejdbc/ja

7th
Feb 2017
kken
@KentaKomai
Feb 07 2017 10:42

はじめまして、いつもこちらのライブラリ使わせていただいているものです。

質問させてください。

db {
  default.driver=com.mysql.jdbc.Driver
  default.url="jdbc:mysql://localhost/dev_db"
  default.username=root
  default.password="root"

  test.driver=com.mysql.jdbc.Driver
  test.url="jdbc:mysql://localhost/test_db"
  test.username=root
  test.password="root"
}

このようなconfigを記述していて、テストのときだけはtest.*のほうのスキーマを利用したいです。

http://scalikejdbc.org/documentation/testing.html
http://stackoverflow.com/questions/34123011/scalikejdbc-connection-pool-is-not-yet-initialized-namedefault

この辺りを参考にさせていただきつつ、

override def db = NamedDB('test).toDB

AutoRollbackを継承しているベースクラスで上記のコードを呼び、
更にDB初期化で

DBs.setupAll()

を呼ぶことで、動作はしたんですが、defaultのほうからデータを取得してしまいます。
しかしFixtureの引数になっているDBSessionを見るとjdbcのURLはtestのほうを見ています。

println(this.session.connection)
> jdbc:mysql://localhost/test_db, UserName=root@localhost, MySQL-AB JDBC Driver

testを見るために、何か見落としている設定等ありますでしょうか。。。