Play-Slick 插件是不是完全支持 Slick 2.0?

Posted

技术标签:

【中文标题】Play-Slick 插件是不是完全支持 Slick 2.0?【英文标题】:Does the Play-Slick plugin support Slick 2.0 at all?Play-Slick 插件是否完全支持 Slick 2.0? 【发布时间】:2013-11-14 19:06:39 【问题描述】:

我试图让一个简单的 Play 2.2/Slick 2.0.0-M3/Postgres 9.2 测试应用程序运行,我是 Slick 的新手,并且对 Play 的经验只有这么多。我注意到 Slick 在简化 API 方面取得了很大进展,所以我更喜欢 2.0。但是,我在 Play-Slick 0.5.0.8 文档中没有看到任何使用 2.0 的示例,无论如何,当我对它进行拍摄时,它似乎相当不兼容......

当我尝试插入时:

def create = DBAction  implicit rs =>
  val users = TableQuery[Users]
  users.insert((9, "uname", "temppass", "test@whatever.com", 10, 11, "139132"))
  Ok("success")

我得到这个编译时错误:

could not find implicit value for parameter session: scala.slick.jdbc.JdbcBackend#SessionDef

如果我不使用 play-slick,我不会收到以下错误:

def create = Action  request =>
  Database.forDataSource(DB.getDataSource()) withSession  implicit session =>
    val users = TableQuery[Users]
    users.insert((9, "uname", "temppass", "test@whatever.com", 10, 11, "139132"))
  
  Ok("success")

我对 play-slick 不支持 Slick 2.0 有什么误解吗?如果没有,是否有任何理由坚持使用带有 Slick 1 的 play-slick 插件?

【问题讨论】:

【参考方案1】:

它尚未移植到 Slick 2。坚持使用 Slick 1 的原因是 Slick 2 尚未发布:)。有一个实验性的里程碑版本,但稳定版本要到年底。

【讨论】:

我认为如果有一些东西告诉我“Play-slick 支持 Slick 版本 X”可能会很好......我到处寻找却找不到它。但是,是的,我没有意识到所有里程碑都被认为是实验性的。无论哪种方式,感谢您的快速响应。 Slick 2.0 于 1 月 21 日发布:slick.typesafe.com/news/2014/01/21/slick-2.0.0-released.html【参考方案2】:

似乎没有官方公布,Typesafe Activator 示例仍然在 1.x 分支,但一些已关闭的问题意味着它可以工作,甚至还有一个示例:https://github.com/freekh/play-slick/pull/117

【讨论】:

以上是关于Play-Slick 插件是不是完全支持 Slick 2.0?的主要内容,如果未能解决你的问题,请参考以下文章

Mysql play-slick 连接超时错误

play-slick : 未找到表

play-slick升级后运行激活器失败

play-slick 1.0.0:无法定义类型为 java.sql.Date 的列

未解决的依赖关系:com.typesafe.play#play-slick_2.10;0.6.0.1:未找到

无法使用 play-slick 1.0.1/slick 3.0 连接到 mysql 数据库:配置错误