我正在尝试将我的应用程序从使用Play 2.3.x升级到Play 2.4.x(将以2.6结束,但一次升级),并将Slick从2.1.0升级到3.1.1。
我已竭尽全力关注Play's migration guide,Play Slick migration guide和Slick upgrade guides。
我现在遇到的问题之一是以下行:
val db: slick.Database = play.api.db.slick.DB
这似乎不再是执行此B / c的正确方法,我得到如下错误:
value withTransaction is not a member of play.api.db.slick.Database
从Play slick迁移指南看来,我应该将其修改为类似
val dbConfig = DatabaseConfigProvider.get[JdbcProfile](Play.current)
但是如果我没有正确的导入或其他内容,则为idk,但是会出现类似以下错误:
object driver is not a member of package play.api.db.slick
not found: value DatabaseConfigProvider
有关更多背景信息,以下是我正在使用的文件之一,它导致此错误:https://github.com/ProjectSidewalk/SidewalkWebpage/blob/2c48dfa2e34c691e40568bfa9d50493aa3fe9971/app/models/attribute/GlobalAttributeTable.scala
有人知道我在这些迁移指南中错过了什么吗?
提前谢谢!
答案 0 :(得分:1)
事实证明我缺少一些东西:
import play.api.Play
而不是已有的导入import play.api.Play.current
。import play.api.db.slick
,导致与此导入所在的行“对象驱动程序不是package.api.db.slick软件包的成员”错误:import slick.driver.JdbcProfile
。我只是删除了以前不需要的导入。withTransaction
已在Slick 3.1中删除,替换内容已记录在上述注释的各个链接中。