问题标签 [play-slick]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
126 浏览

playframework - 玩 Slick:从表中选择 * 忽略 sortBy

我有以下读取整个表格的 play/slick 3.0 代码。它工作得很好,除了 SQL 语句没有添加order by(即使它适用sortBy)。可能是什么问题?

0 投票
1 回答
1213 浏览

scala - 如何检查 Play Slick 过滤器是否返回了一些行或空结果?

我有下面的代码返回Future[Option[Password]]

我想要做的是在下面的伪代码中:

我是 Scala 新手,对此一无所知。尝试flatMap在下面的示例中使用,但flatMap上面的签名db.run()不同。

我正在使用 Play Slick 版本 1.1.1

0 投票
1 回答
675 浏览

scala - Play 框架和 Slick 项目架构

我正在将一个应用程序从 Grails 迁移到 Play Framework,我目前正在尝试找出组织项目结构的最佳方式。

我想将 Slick Codegen 与 Flyway 一起用于迁移,因为我想跟踪所有正在完成的迁移(类似于 Rails 迁移的解决方案将是完美的)。

我看到 Play Framework 有 Play-Slick 模块,但据我所知,一切都像纯黑魔法一样发生。

在 GitHub 上看到了一个示例,其中 Slick Modelling、Play Framework 和 Flyway Migrations 是 3 个独立的 SBT 模块,如果我们想离开 Play Framework,这非常有意义。

现在,我的问题是:Play 框架应用程序的最佳架构方法是什么?

注意:我是 Play Framework 和 Scala 的新手。

0 投票
1 回答
371 浏览

playframework - 如何在播放框架中使用 slick api 在 mysql 中插入具有唯一列值的记录

我是 scala-play 框架的新手。我正在使用 Play framework 2.5 和 play-slick 1.1.1。使用 Action 处理请求时,我对 Future 返回类型感到困惑。我收到此错误:

发现:scala.concurrent.Future[play.api.mvc.Result] 需要:play.api.mvc.Result

在我的registerUser方法中。

这是我的registerUser方法

这是我的表投影和将数据插入用户表的方法。在表 'user' 中,列 'email' 被标记为唯一的。

桌子:

插入用户表的方法

我也有方法检查是否存在具有相同电子邮件的用户。这是方法

如果我不通过“isExists”方法检查现有电子邮件,那么它会针对唯一约束抛出 SQLException。

非常感谢您提前。

0 投票
1 回答
443 浏览

scala - 如果另一个查询结果匹配 Slick3.0 中的某些条件,则执行查询

我有一张类似的桌子

并尝试检查TableQuery[FooTable].map{_.amount}.sum >= 10L结果是否为真,我想DBIO.seq在单个db.run.

到目前为止我已经尝试过

但这不起作用,因为这个错误

发现:slick.lifted.Rep[Boolean] 需要:布尔

我也试过这种方式

但这也会产生错误

找不到参数 ol 的隐式值:slick.lifted.OptionLift[slick.driver.MySQLDriver.api.DBIOAction[Unit,slick.driver.MySQLDriver.api.NoStream,slick.driver.MySQLDriver.api.Effect.Write with slick .driver.MySQLDriver.api.Effect.Transactional],slick.lifted.Rep[Option[QO]]]

我怎样才能做到这一点?

提前致谢。

0 投票
0 回答
80 浏览

playframework-2.0 - Play-slick postgres:它会自动创建数据库吗?

我在内存数据库中使用,并且在需要预先创建数据库方面没有任何问题。

我现在已经改为使用 postgres 作为我的 play-slick 数据库,配置如下:

当我启动应用程序时,它说数据库“沙盒”不存在。无论如何,如果它不存在,我可以让 play-slick 为我创建数据库吗?谢谢!

0 投票
1 回答
286 浏览

playframework-2.0 - 为创建功能播放光滑的 postgres 进化

这是我的进化1.sql

但是当我应用这种演变时,play-slick 给了我这个错误

知道发生了什么吗?我可以直接在 postgres 控制台上创建该功能

0 投票
2 回答
266 浏览

scala - 如何使用 slick 3 插入具有外键的记录?

我有两个模型:

还有一个定义了用户表的 DAO:

在插入函数中,如何在同一函数或调用中将 uid 添加到用户配置文件表的 user_id 字段?


编辑 1

尝试了 Pawel 建议的解决方案,但出现异常:


编辑 - 2

现在,在尝试了一些解决方案后,插入函数是这样的:

但仍然收到错误: failed slick.SlickException: This DBMS allows only a single AutoInc column to be returned from an INSERT


解决方案

Pawels 解决方案应该可以正常工作,但某些 DBMS 会因不返回 AUtoInc 字段以及尝试返回其他内容而给出异常。您可以在文档中看到注释:http: //slick.lightbend.com/doc/3.0.0/queries.html

所以,现在,我的模型是这样的:

和表类:

最后是插入方法:

0 投票
1 回答
341 浏览

scala - 使用 Slick 3.1 和 PlayFramework 2.5 Scala 进行进化时超时

我目前正在开发一个 WebApp,以提高我在使用 Scala 的 Play Framework 方面的技能。

我遵循了本教程: http: //pedrorijo.com/blog/play-slick/

我已将代码改编为我的用户对象(更改字段),但总体而言,这与最终结果(https://github.com/nemoo/play-slick3-example)相同,我还通过克隆复制它repo。唯一可能不同的是我正在使用 RDS 数据库来测试我的代码。

当我在没有 1.sql 的情况下启动索引页面时,它不工作,这是正常的,它显示一个错误,告诉我表用户丢失

当我使用 sequel pro 手动添加数据库中的表时,一切正常

但是,当我尝试通过 play-evolution 创建它时,我收到了这个错误:

我不知道为什么在手动完成时一切正常时我会超时。感谢所有帮助我的人!

0 投票
1 回答
536 浏览

database - 如何在 Slick 3.1 中使用不受支持的数据库

过去,我使用 Slick 访问服务器中的 Vertica 数据库。我最近将我的 Slick 版本从 2.0 升级到了 3.1。自升级以来,我遇到了一个错误(下面的堆栈跟踪)。该错误表明找不到光滑的驱动程序。

根据 Slick 3.2.1 文档,“其他 SQL 数据库可以通过减少的功能集立即访问”。

我想知道的是 - 是否仍然可以使用 slick 直接支持的“其他”类型的数据库?如果是这样,怎么做?

我的数据库配置是:

请注意,由于这个 Stack Overflow 响应,我还尝试了以下各项来替换配置中的第一行:

我的 sbt 文件中也有:

请注意,play-slick 使用 slick 3.1.0。

完整的堆栈跟踪:

如果我改为使用:

然后: