问题标签 [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.

0 投票
1 回答
103 浏览

docker - 致命错误:在顶层引发错误:NIO.SocketAddressError.unknown(

大家好,我是蒸汽新手,我尝试使用 fluent 将 docker 容器中的 Vapor 应用程序连接到另一个 docker 容器中的 MySQL 数据库,但出现以下错误

这是我在 configure.swift 上的配置:

这是我的码头工人撰写:

0 投票
1 回答
119 浏览

vapor - Vapor - 更新用户属性返回“前提条件失败 - id.exists”

我尝试将 UUID 添加到用户模型上的 UUID 数组属性,但它返回“前提条件失败 - id.exists”。我在数据库上使用更新而不是创建或保存。使用 PostgresSQL 作为数据库。错误出现在 FluentKit -> Model -> Model+CRUD.swift -> _ update(on: ) 第 43 行。附上下面的代码。

用户型号:

要求:

移民:

0 投票
1 回答
37 浏览

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字段的协议呢?如何解决编译器错误?

0 投票
1 回答
151 浏览

swift - Vapor 如何改造 EventLoopF​​uture

我正在使用 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()解决了错误,但引入了运行时错误。

谢谢你的帮助!

0 投票
1 回答
34 浏览

swift - 如何正确处理 Fluent/Vapor 中的简化模型?

假设,我有一个User模型,这个模型包含products孩子(一对多关系)。

在某些情况下,在我的 iOS 应用程序中,我只需要显示所有用户的列表,因此我不需要查询有关产品的数据库。

如何以最简单的方式在 Fluent 中获取没有子级的用户?我是否需要创建一个不包含产品的单独模型?

0 投票
1 回答
69 浏览

swift - Vapor Swift 如何删除从 fileIO 收集的文件

我构建了一个支持使用 Vapor 上传/删除文件的服务器。我正在使用以下方式收集要上传的文件:

但我不确定如何删除这些文件。我只看到从文档中读取/流/收集/写入的选项。

任何帮助都会很棒!

0 投票
2 回答
49 浏览

fluent - Vapor 4 从 EventLoopF​​uture 获取字符串

我在一个网络上工作,我有属于特定“类别”的“帖子”,所以,当我列出帖子时,我想显示类别名称,所以我做了:

所以,我不知道如何使用它EventLoopFuture<String>来获取我需要的字符串。

更新

我要给你更多的背景。

所以,我有一个控制器来显示元素列表:

然后,我可以使用这个协议来展示任何类型的模型。在这种情况下,我想显示类别为父亲的博客:

0 投票
0 回答
39 浏览

postgresql - 致命错误:未配置默认数据库

当我尝试使用 vapor 在 heroku 中迁移我的数据库时,我在运行heroku run Run -- migrate --env production时收到以下错误

FluentKit/Databases.swift:160:致命错误:未配置默认数据库。

我在迁移之前执行heroku config并创建了一个数据库。

本地迁移对我来说没有问题。如果我可以毫无问题地访问数据库,则可以从数据库管理软件中获取。

谢谢

0 投票
1 回答
55 浏览

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 配置。

0 投票
0 回答
16 浏览

swift - 如何在 Vapor Fluent sqlite 中使用正则表达式?

我有一个简单的模型,它有一个字符串字段,如下所示:

我想name使用正则表达式模式查询和过滤这个字段。

我目前的解决方案是使用.all()获取所有行,然后使用正常NSRegularExpression方式过滤 Swift 中的每一行。

然而,这真的很慢。.filter()在我的机器上,我可以使用 ORM 框架提供的函数每秒处理大约 400 个请求。而我自己的正则表达式过滤器每秒只有 4 个请求。

我知道 sqlite 确实提供了一个REGEXP功能,而且速度要快得多。但它需要加载一个外部模块才能运行。

那么如何使用 FluentSQL 导入这个模块,或者有什么解决方法吗?