Scala 将Play升级到2.4,Slick升级到3.1.1,value withTransaction不是Play.api.db.Slick.Database的成员
我正在尝试将我的应用程序从Play2.3.x升级到Play2.4.x(将在2.6结束,但一次只进行一步),并从2.1.0升级到3.1.1 我已经尽了我最大的努力去跟随,跟随,跟随 我现在遇到的一个问题是以下几行:Scala 将Play升级到2.4,Slick升级到3.1.1,value withTransaction不是Play.api.db.Slick.Database的成员,scala,slick,playframework-2.4,slick-3.0,Scala,Slick,Playframework 2.4,Slick 3.0,我正在尝试将我的应用程序从Play2.3.x升级到Play2.4.x(将在2.6结束,但一次只进行一步),并从2.1.0升级到3.1.1 我已经尽了我最大的努力去跟随,跟随,跟随 我现在遇到的一个问题是以下几行: val db: slick.Database = play.api.db.slick.DB 这似乎不再是执行此操作的正确方法b/c我收到如下错误: value withTransaction is not a member of play.api.db.slick.Database
val db: slick.Database = play.api.db.slick.DB
这似乎不再是执行此操作的正确方法b/c我收到如下错误:
value withTransaction is not a member of play.api.db.slick.Database
object driver is not a member of package play.api.db.slick
not found: value DatabaseConfigProvider
从Play slick迁移指南来看,似乎我应该将其修改为
val dbConfig = DatabaseConfigProvider.get[JdbcProfile](Play.current)
但是idk如果我没有正确的导入或者什么,但是我得到了如下错误:
value withTransaction is not a member of play.api.db.slick.Database
object driver is not a member of package play.api.db.slick
not found: value DatabaseConfigProvider
有关更多上下文信息,下面是我正在处理的一个文件,它会导致此错误:
有人知道我在这些迁移指南中遗漏了什么吗
提前谢谢你 结果发现我遗漏了一些东西:
import play.api.play
而不是我已有的importimport play.api.play.current
import play.api.db.slick
,它导致了“对象驱动程序不是package play.api.db.slick的成员”错误,该错误与此导入相关:import slick.driver.JdbcProfile
。我只是删除了以前不需要的导入with transaction
已在Slick 3.1中删除,替换内容记录在上述评论的各个链接中您正在从slick 2.1.0迁移到3.1.1。他们完全改变了交易管理。你可以在这里读到。我想你应该先看看3.0.0版的迁移指南-谢谢!是的,我也试着遵循2.1.0到3.0.0的指南。但是您链接到的关于DB I/O操作的部分完全超出了我的理解范围。我查看的代码类似于
def getAllX:List[X]=db.withSession{implicit session=>tableOfX.List}
,从升级指南中看不到这样的代码应该如何迁移。一旦你点击了3.0.0文档,withSession
将不再被提及。我能找到的最好的方法是,但这也不能完全解释。好的,这里是另一篇我觉得很有帮助的博客文章,它提供了关于这种特殊语法迁移的更多信息:一旦我尝试了它,就会报告回来。