【发布时间】:2018-05-24 18:37:44
【问题描述】:
Slick 在 DML 查询中返回结果,在执行表创建操作时抛出异常,但 MTable.getTables 返回空向量/列表。我正在使用 MySQL 作为 SQL 解决方案。
println(Await.result(db.run(MTable.getTables), Duration.Inf))
在控制台中打印Vector()。
【问题讨论】:
Slick 在 DML 查询中返回结果,在执行表创建操作时抛出异常,但 MTable.getTables 返回空向量/列表。我正在使用 MySQL 作为 SQL 解决方案。
println(Await.result(db.run(MTable.getTables), Duration.Inf))
在控制台中打印Vector()。
【问题讨论】:
老实说有同样的问题,没有通过大量的帖子和想法,什么可能是错误的,没有任何工作,不想浪费时间在它上面所以简单的方法就是使用 sql 之类的东西直接:
db.run(sql"""show tables""".as[String]).onComplete({
case scala.util.Success(value) => value.foreach(println)})
这将返回如下内容: 城市 国家 国家语言 我相信你可以从那里弄清楚如何使用它。
p.s 抱歉代码示例格式不佳
【讨论】:
我第一种情况的问题是无效的表结构。
我第二种情况的问题是无效的写权限。
如何知道查询失败背后的确切问题:
这样做:
val tables = List(Emails.emails)
val setup = DBIO.sequence(
tables.map(_.schema.create.asTry)
)
Await.result(db.run(setup).map(a => {
println("/****\n\n\n\n\n\n\n\n\n\n\n\n\n")
println(a)
println("\n\n\n\n\n\n\n\n\n\n\n\n\n*************/")
}), Duration.Inf)
【讨论】: