问题标签 [quill.io]
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.
scala - `宏扩展期间的异常:[错误]使用羽毛笔时的scala.reflect.macros.TypecheckException`
我对 Scala、Play 和 Quill 还很陌生,我不确定自己做错了什么。我将我的项目拆分为模型、存储库和服务(以及控制器,但这与这个问题无关)。现在,我的服务中正在对数据库进行更改的行出现此错误:
而且我的服务中的所有其他行都出现此错误:
我找到了一张类似的票,但同样的修复方法对我不起作用(我已经要求ctx
作为隐式变量,所以我也无法导入它。我完全不知所措,如果有人有任何建议,我很乐意尝试任何东西。我正在使用以下版本:
- 斯卡拉 2.12.4
- 羽毛笔 2.3.2
- 玩 2.6.6
编码:
db/package.scala
存储库/AgentsRepository.scala
服务/AgentsService.scala
模型/Agent.scala
scala - quill - 不能标记非标量提升
我目前收到此错误,但我不太明白为什么:
exception during macro expansion: java.lang.IllegalStateException: Can't tokenize a non-scalar lifting. AgentService.this.agentsByOrganization(id).id
Long
在进行查询之前,我是否需要将 ID 转换为?我希望能够使用特定的 Id 类,但我是 Scala 的新手,不确定这是否可能。此外,并非所有查询都失败。例如,delete
作品,即使它也被传递一个AgentId
. 而该findByOrganization
方法不起作用。传递的其他方法AgentId
也显示与 相同的错误findByOrganization
。
模型:
服务:
存储库:
D b
我见过这个类似的问题,但它似乎特定于Option
. 这是一个scastie 片段。
mysql - 在使用 quill-async-mysql 和玩 2.6 时我应该使用什么模式演变?
我quill-async-mysql
在我的项目中使用,我有一个简单的数据库设置application.conf
:
而已。
现在我想添加某种模式演变来处理我的数据库创建和东西,并寻找
一个可以很好地与 quill-async-mysql 配合使用的库,有playframework
没有人有一些好的建议?
我听说过flyway,但它使用jdbc
连接和即时使用quill-async-mysql
,并且还研究了playframework
演变,但在使用时遇到了一些困难
设置,所以我将不胜感激。
谢谢!
postgresql - 使用 Play-2.6 和 Quill.io 加载配置数据源失败
当我尝试运行我的 Play 应用程序时,我目前遇到了错误。它说Failed to load data source
,但看起来它确实在加载数据源。我对 Play 和 Scala 非常陌生,我团队的其他成员也是新手,所以如果这是一个愚蠢的错误或者我遗漏了一些代码示例,我深表歉意。app-users
具有所有者的数据库root
存在于我的本地,我不相信root
有密码(使用该createuser
工具创建)。
关于可能导致这种情况的任何想法?或者我错过了什么?
错误:
应用程序.conf
db/package.scala
使用:
- 斯卡拉 2.12.4
- 羽毛笔 2.3.2
- 玩 2.6.6
- Postgres JDBC 驱动程序 42.2.1
- PostgreSQL 10.2
更新:为 root 用户添加了“root”密码并切换到使用与Quill 文档相同的格式,所以现在 appliation.conf 看起来像这样:
但是报错信息还是基本一样的:
postgresql - Play 2.6 的 conf 文件中 Hikari、Quill 和 Postgres 之间的冲突
当我运行我的 Play 应用程序时,我遇到了一个奇怪的错误(这似乎是我现在生活的故事)。前几天,我遇到了这个问题,解决了这个问题,能够运行进化并创建表,然后遇到以下问题:
java.lang.RuntimeException: Property driver does not exist on target class com.zaxxer.hikari.HikariConfig
这是我当前的 application.conf 中的相关部分:
我做了一些挖掘,发现 Hikari 期望driverClassName
(以及其他一些差异)。Hikari 文档和Quill 文档说这样的内容应该在 application.conf 中:
但是,当我拥有它时,进化将不会运行。他们只会在我现在拥有它时运行。由于进化正在运行,它似乎正在连接到数据库。那么为什么我会收到一条消息说它不能呢?有没有办法让我为 Hikari 和 Postgres/Quill 提供单独的数据库配置?
完整的错误信息:
db/package.scala
关于可能导致这种情况的任何想法?或者我错过了什么?
使用:
- 斯卡拉 2.12.4
- 羽毛笔 2.3.2
- 玩 2.6.6
- Postgres JDBC 驱动程序 42.2.1
- PostgreSQL 10.2
当我输入 Quill/Hikari 期望的内容时出现错误消息:
scala - 使用中缀时出现 Scala Quill 错误
Quill
使用中缀操作时遇到问题。
Scala
2.12.4
Quill
2.3.3
错误消息是模糊的:
它只指出filter2
是原因,并没有说哪一行错了。
Scastie
在线编辑器上的可运行代码片段https://scastie.scala-lang.org/superChing/haYVkGLDSlKsOhYlaPdO1w
scala - 现在 22 不再是限制,Scala 案例类中允许的实际最大字段数是多少?
我有一个项目正在生成编译时堆栈溢出错误。
我正在使用 Quill 进行持久性,它使用宏。我有一个包含 600 多个字段的案例类,它代表一个数据库表。
在编译期间,我得到以下无限递归:
ervice.scala:27: UPDATE email_user SET password_hash = ? 在哪里 user_id = ?[info] .run(quote { [info] ^ java.lang.StackOverflowError at scala.tools.nsc.transform.Erasure$Eraser.adaptMember(Erasure.scala:686) at scala.tools.nsc.transform.Erasure$Eraser .typed1(Erasure.scala:773) 在 scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5584) 在 scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala: 5616) 在 scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5557) 在 scala.tools. nsc.typechecker.Typers$Typer.$anonfun$typed1$38(Typers.scala:4708) 在 scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:698) 在 scala.tools.nsc.typechecker。打字机$打字机。
即使案例字段数量的 22 个字段限制现在已经消失,我是否遇到了一些实际限制?
如果我没有使用 Quill 访问有问题的表/大案例类,则会发生此编译错误。
感谢您的任何见解!
scala - Quill onconflictupdate 多个值
是否有可能以某种方式更新冲突中的多个值?比如像这样:
我像上面那样尝试过,当我有两个值时,总是得到“未找到:值 t”错误。该文档也没有回答这个方向的问题。
scala - 带有 Quill 的通用宏
嗨,我一直在尝试使用宏和 Quill 创建一些通用函数。
这是我对宏的实现:
我已经尝试在下面的代码中使用它:
但后来我收到以下错误:
但是我知道传递给宏的 ctx 确实是 MysqlAsyncContext 因为当我将宏代码更改为:
它给了我以下错误:
我猜我从根本上误解了宏。任何启示将不胜感激!
谢谢!
scala - 组织与类型关联的 Scala 隐式
我想介绍一些类型来表示更大类型中字段的可能值。该字段需要能够对 JSON 进行编码/解码,还需要能够写入/读取到数据库。
我还是 Scala 的新手,我想要的类型是 sum type Status = NotVerified | Correct | Wrong
。由于我希望有一个与每个构造函数关联的字符串表示,我创建了一个带有String
参数的密封案例类,然后创建了扩展该案例类的对象。为了能够编码/解码,我还需要隐式,但我不确定如何构造它。我可以将它们放在对象内部的一个新对象中,如下所示:
……然后import
在需要的地方明确地显示这些,但那是相当……明确的。
组织这种类型+隐式集合的好方法是什么?