问题标签 [vapor-fluent]
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.
docker - 致命错误:在顶层引发错误:NIO.SocketAddressError.unknown(
大家好,我是蒸汽新手,我尝试使用 fluent 将 docker 容器中的 Vapor 应用程序连接到另一个 docker 容器中的 MySQL 数据库,但出现以下错误
这是我在 configure.swift 上的配置:
这是我的码头工人撰写:
vapor - Vapor - 更新用户属性返回“前提条件失败 - id.exists”
我尝试将 UUID 添加到用户模型上的 UUID 数组属性,但它返回“前提条件失败 - id.exists”。我在数据库上使用更新而不是创建或保存。使用 PostgresSQL 作为数据库。错误出现在 FluentKit -> Model -> Model+CRUD.swift -> _ update(on: ) 第 43 行。附上下面的代码。
用户型号:
要求:
移民:
vapor - Vapor 4:创建包含 Fluent ParentProperty 的协议会导致编译器错误
我有一大堆 Fluent (Vapor 4) 模型,它们都有这样的父字段:
现在,我想制作一个可以应用于所有这些模型的协议,如下所示:
只是一个方便的小功能,我可以将其应用于模型的任何实例HasCampaignId
,这就是想法。可悲的是,这没有编译,我得到了错误Property '_campaign' must be declared internal because it matches a requirement in internal protocol 'HasCampaignId'
。我可以将协议公开,但随后我得到另一个错误:Property '_campaign' must be as accessible as its enclosing type because it matches a requirement in protocol 'HasCampaignId'
.
我可以像这样更改协议:
但这需要我加载活动关系,这通常不是我想要的 - 否则它会因致命错误而崩溃:Fatal error: Parent relation not eager loaded, use $ prefix to access: Parent<Loot, Campaign>(key: campaign_id)
.
我的协议中的campaign
属性也不能应用属性包装器。
那么我怎样才能有一个需要ParentProperty
字段的协议呢?如何解决编译器错误?
swift - Vapor 如何改造 EventLoopFuture至
我正在使用 Vapor Fluent 实现删除路由处理程序。
对于这个处理程序,我想验证user
发送产品删除请求是 的所有者,product
否则Abort
请求。
但是 Vapor 在return try product.delete(on: req.db).transform(to: HTTPStatus.noContent)
说Cannot convert return expression of type 'EventLoopFuture<HTTPResponseStatus>' to return type 'HTTPStatus' (aka 'HTTPResponseStatus')
.
我尝试使用 再次链接map({})
,但没有帮助。使用wait()
解决了错误,但引入了运行时错误。
谢谢你的帮助!
swift - 如何正确处理 Fluent/Vapor 中的简化模型?
假设,我有一个User
模型,这个模型包含products
孩子(一对多关系)。
在某些情况下,在我的 iOS 应用程序中,我只需要显示所有用户的列表,因此我不需要查询有关产品的数据库。
如何以最简单的方式在 Fluent 中获取没有子级的用户?我是否需要创建一个不包含产品的单独模型?
fluent - Vapor 4 从 EventLoopFuture 获取字符串
我在一个网络上工作,我有属于特定“类别”的“帖子”,所以,当我列出帖子时,我想显示类别名称,所以我做了:
所以,我不知道如何使用它EventLoopFuture<String>
来获取我需要的字符串。
更新:
我要给你更多的背景。
所以,我有一个控制器来显示元素列表:
然后,我可以使用这个协议来展示任何类型的模型。在这种情况下,我想显示类别为父亲的博客:
postgresql - 致命错误:未配置默认数据库
当我尝试使用 vapor 在 heroku 中迁移我的数据库时,我在运行heroku run Run -- migrate --env production时收到以下错误
FluentKit/Databases.swift:160:致命错误:未配置默认数据库。
我在迁移之前执行heroku config并创建了一个数据库。
本地迁移对我来说没有问题。如果我可以毫无问题地访问数据库,则可以从数据库管理软件中获取。
谢谢
ssl - 如何以及在哪里在 vapor 4 应用程序上安装 SSL 证书?
我正在尝试在 Digital Ocean 中部署 postgres。设置托管数据库后,它提供了需要安装在后端应用程序上的 ca-certificate.crt。技术栈
- 后端开发的蒸汽
- 为服务器做
根据 DO,他们说要参考 Vapor 的文档如何安装它。不幸的是,Vapor 还没有关于如何安装它的文档。https://docs.vapor.codes/4.0/fluent/overview/
如何在蒸汽项目上安装 .crt 文件以测试 SSL 是否正常工作。它可以帮助我在 DO 上连接 DB。任何帮助表示赞赏。
到目前为止,我的代码没有任何 TLS 配置,我只能在 crt 正确安装位置之后添加 TLS 配置。
swift - 如何在 Vapor Fluent sqlite 中使用正则表达式?
我有一个简单的模型,它有一个字符串字段,如下所示:
我想name
使用正则表达式模式查询和过滤这个字段。
我目前的解决方案是使用.all()
获取所有行,然后使用正常NSRegularExpression
方式过滤 Swift 中的每一行。
然而,这真的很慢。.filter()
在我的机器上,我可以使用 ORM 框架提供的函数每秒处理大约 400 个请求。而我自己的正则表达式过滤器每秒只有 4 个请求。
我知道 sqlite 确实提供了一个REGEXP
功能,而且速度要快得多。但它需要加载一个外部模块才能运行。
那么如何使用 FluentSQL 导入这个模块,或者有什么解决方法吗?