【发布时间】:2016-12-14 13:12:54
【问题描述】:
我正在开发一个使用 mysql 的 Scala/Play 应用程序。我遇到了一个问题,即我的应用程序在部署到我们的集成环境时会中断,因为来自我的应用程序的 sql 查询的表和别名的大小写错误。我在开发中没有发现这一点,因为我使用的是默认情况下 MySQL 不区分大小写的 Mac。除了将我的本地环境配置为区分大小写之外,我还希望在编写大小写错误的查询时单元测试失败。如Play documentation 所述,我正在使用H2 测试数据库。我使用以下代码设置数据库,其中 schema 是具有创建脚本的字符串:
def apply[T](block: Database => T):Unit = {
Databases.withInMemory(
urlOptions = Map(
"MODE" -> "MYSQL"
),
config = Map(
"logStatements" -> false
)
){
database =>
Evolutions.withEvolutions(database, SimpleEvolutionsReader.forDefault(
Evolution(
1,
schema,
""
)
)){
block(database)
}
}
}
直观地说,配置映射将有一个类似"caseSensitive" -> true 或类似的选项,但我一直无法在那里找到所有选项的文档。有人知道 H2 是否有此配置选项以及它是什么?
【问题讨论】:
标签: mysql scala playframework-2.0 h2