使用 Vapor 4/Fluent 进行交易

Transactions with Vapor 4/Fluent

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

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

req.transaction(on: .<#dbid#>) { conn in
    // use conn as your connection
}

这在 Vapor 4 中如何实现?不幸的是,版本 4 不存在交易文档。

req.db.transaction新建一个交易使用。测试是寻找示例的最佳场所 - 例如here

(vapor/docs 上关于 GH 的问题也能很好地确保文档被写入!)