我正在尝试使用scalatest运行我的play框架应用程序的测试。我正在使用Evolution初始化数据库状态,但仅用于测试。因此,我正在使用以下libraryDependencies
:
jdbc % Test,
evolutions % Test,
"com.h2database" % "h2" % "1.4.197" % Test,
我的application.conf
如下:
include "application.conf"
dbUrl="jdbc:h2:mem:xxx;MODE=MySQL;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;INIT=create schema if not exists xxx\\;set schema xxx;DATABASE_TO_UPPER=FALSE;"
slick.dbs {
default {
profile="slick.jdbc.H2Profile$"
db.driver="org.h2.Driver"
db.url=${dbUrl}
db.user="sa"
db.password=""
}
}
db {
default {
url=${dbUrl}
profile="slick.jdbc.H2Profile$"
driver="org.h2.Driver"
username="sa"
password=""
}
}
我需要同时使用slick和jdbc配置,因为我的课程使用slick,而演进使用jdbc。我收到以下错误:
org.h2.jdbc.JdbcSQLException
,并显示消息:找不到架构“ XXX”; SQL语句: 插入xxx
。movies
(title
,year
,country
,image
,type_id
,should_be_send
)值 (?,?,?,?,?,?)[90079-197]。 (RunSpec.scala:19)
这是怎么回事?是否可以摆脱上面的查询中的xxx
模式?我一直在为测试演进而遇到类似的错误,最终我用DATABASE_TO_UPPER=FALSE
摆脱了这个错误,但不适用于精巧的配置。
致谢