问题标签 [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 回答
634 浏览

swift - 在 macOS 10.15 终端中运行“vapor run migrate”时出错

当我尝试在终端中运行迁移时,vapor toolbox -18.0.0 出现错误。

我在 configure.swift中的代码

我的 迁移代码

以下是输出。

我自己做了一些研究,但找不到任何解决方案。

请帮忙!!!!

0 投票
1 回答
201 浏览

vapor - 与 Vapor 4/Fluent 的交易

我正在尝试保存 2 个相关模型,并希望为此使用数据库事务,以便在发生故障时不会将任何内容写入数据库。

在 Vapor 3 中,您可以使用以下内容:

如何在 Vapor 4 中做到这一点?不幸的是,版本 4 不存在交易文档。

0 投票
2 回答
940 浏览

swift - 在 Fluent / Vapor 4 中,如何根据外键过滤列表?

所以我有模型名称Organization,UserApp. 应用程序和用户都属于组织。

现在,基本上我想做的是,给定一个用户,我想获取属于该用户组织的所有应用程序

我可以从我的身份验证系统中获取用户,但我所拥有的只是这个查询:

这将失败并显示错误消息Operator function '==' requires that 'UUID' conform to 'QueryableProperty'

我应该怎么做?

0 投票
1 回答
174 浏览

swift - 为什么我不能在带有 Vapor 4 的自定义控制器中使用过滤器?

我想添加一个路由来通过搜索特定的字符串来获取匹配的数据。我将路线添加到routes(_:)routes.swift

这有效。我想把它移到控制器中。所以我在控制器中创建了一个处理函数。

但我得到了 Swift 编译器错误:Binary operator '==' cannot be applied to operands of type 'KeyPath<Acronym, FieldProperty<Acronym, String>>' and 'String'.

为什么filterwith operator==在控制器中不起作用?

环境

  • 蒸汽 4.27.1(工具箱 18.2.1)
  • 斯威夫特 5.2.4
  • macOS Catalina 10.15.6
0 投票
2 回答
336 浏览

vapor - 了解如何初始化 Vapor 4 存储库

我正在尝试使用存储库模式将一些代码从 Vapor 3 迁移到 Vapor 4。我已经阅读了Vapor 4文档中有关此特定模式的文档,并且我想我大部分都理解它。

然而,我没有得到的一件事是存储库工厂在Application扩展中设置的方式。文档中的示例显示了这一点:

如果我正确地阅读了 getter 方法(我可能不是——我离 Swift 专家还很远),一个新的UserRepositoryFactory结构实例将被创建并在app.users被引用时返回。但是,当时的内容似乎没有self.storage[UserRepositoryKey.self]以任何方式改变。因此,如果我碰巧app.users连续访问了两次,我会收到 2 个不同的实例返回给我,并self.storage[UserRepositoryKey.self]保持设置为nil.

通过文档中的其余示例代码,它似乎定义make了工厂在配置应用程序时将使用的函数:

这里似乎app.users.use会获得一个新的工厂实例并调用它的use函数来make为该实例设置适当的方法。

后来,当我去处理一个请求时,我使用了request.users这个Request扩展定义的方法:

在这里,它似乎self.application.users.make会在由self.application.users. 因此,它不会应用之前在配置应用程序时设置的工厂的 make 方法。

那么我在这里错过了什么?

0 投票
4 回答
504 浏览

swift - Vapor 4 不区分大小写的查询

在 Vapor 3 中,您可以使用filter带有 SQLiteBinaryOperator 的方法,因此您可以使用 like 运算符创建查询。我试图在 Vapor 4 中做同样的事情,但找不到任何东西。这是我的代码

蒸气 4

蒸气 3

Vapor 4 中是否有类似的东西,还是我需要在 SQL 中执行原始查询?

0 投票
1 回答
247 浏览

swift - 如何在 Vapor 4 (Fluent 4) 中使用 User-Search-Terms 防止 SQL 注入

我目前正在实现一个 Vapor 4 应用程序,它将用于管理机器。用户应该能够搜索机器名称,我通过

whereterm是用户提供的任意值String。代码本身按预期工作,但我想知道是否存在 SQL 注入漏洞(或其他攻击)的可能性。

我的问题:
SQL 注入(或其他攻击)是否可能,如果是,我该如何防止它(请提供代码示例)?

0 投票
1 回答
110 浏览

ios - 使用蒸汽框架 postgresql 的 Swift 后端

大家好,任何人都可以帮助我在这个问题中,我有一个任务是我们创建一个 ios 聊天应用程序,并且客户端想要使用 postgresql 和蒸汽框架的后端,任何人都可以帮助我弄清楚如何将蒸汽添加到现有的 xcode项目以及如何将所有东西连接在一起?

0 投票
1 回答
70 浏览

swift - 如何使用 QueryBuilder 查询用户朋友的帖子?

我想从数据库中查询所有用户朋友的帖子。我已经制定了以下代码,它似乎可以工作,但看起来不太好,尤其是我过滤具有用户 ID 的帖子的部分。

如何清理此代码?

0 投票
1 回答
86 浏览

swift - 如何向模型添加附加属性?

我有一个Model符合Content

这可以从数据库中获取并直接从路由返回,因此客户端以 JSON 形式接收用户。

现在我想向用户添加一个附加属性,它不存储在数据库中,而是一个固定值,或者只是在从数据库加载用户后添加:

或者

现在的问题是这个属性永远不会添加到 JSON 中,所以客户端只获取用户的id不是. 我该如何解决?emailsomeProperty