将 Play 升级到 2.4,Slick 升级到 3.1.1,值 withTransaction 不是 play.api.db.slick.Database 的成员
Upgrading Play to 2.4, Slick to 3.1.1, value withTransaction is not a member of play.api.db.slick.Database
我正在尝试将我的应用程序从使用 Play 2.3.x 升级到 Play 2.4.x(将在 2.6 结束,但一次一步)和 Slick 从 2.1。 0 到 3.1.1.
我已经尽力关注了Play's migration guide, the Play Slick migration guide, and the 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)
但是如果我没有正确的导入或其他什么,我会知道,但我会收到如下错误:
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
有人知道我在这些迁移指南中错过了什么吗?
提前致谢!
原来我遗漏了一些东西:
- 我没有意识到我需要使用更新版本的 play-slick 库(我仍然使用 0.8.0 而不是 1.1.1)。
- 我需要添加导入
import play.api.Play
而不是我已有的导入 import play.api.Play.current
。
- 我有一个导入
import play.api.db.slick
,它在导入行 "object driver is not a member of package play.api.db.slick" 中导致错误:import slick.driver.JdbcProfile
。我刚刚删除了以前不需要的导入。
- 正如@Valerii 所说,
withTransaction
已在 Slick 3.1 中删除,替换记录在上面评论的各个链接中。
我正在尝试将我的应用程序从使用 Play 2.3.x 升级到 Play 2.4.x(将在 2.6 结束,但一次一步)和 Slick 从 2.1。 0 到 3.1.1.
我已经尽力关注了Play's migration guide, the Play Slick migration guide, and the 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)
但是如果我没有正确的导入或其他什么,我会知道,但我会收到如下错误:
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
有人知道我在这些迁移指南中错过了什么吗?
提前致谢!
原来我遗漏了一些东西:
- 我没有意识到我需要使用更新版本的 play-slick 库(我仍然使用 0.8.0 而不是 1.1.1)。
- 我需要添加导入
import play.api.Play
而不是我已有的导入import play.api.Play.current
。 - 我有一个导入
import play.api.db.slick
,它在导入行 "object driver is not a member of package play.api.db.slick" 中导致错误:import slick.driver.JdbcProfile
。我刚刚删除了以前不需要的导入。 - 正如@Valerii 所说,
withTransaction
已在 Slick 3.1 中删除,替换记录在上面评论的各个链接中。