Vapor 2.0 - MySQL驱动(MySQL Driver

2017-08-10  本文已影响0人  韩云智VL

前往 Vapor 2.0 - 文档目录

Fluent使用MySQL驱动程序与您的MySQL数据库通信。虽然大多数时候你不需要使用它,但它确实有一些方便的功能。

原始(Raw)

有时您需要绕过Fluent并将原始查询发送到数据库。

let result = try mysqlDriver.raw("SELECT @@version")

注意
如果您使用Vapor,您可以用drop.mysql()访问MySQL驱动程序

事务处理(Transaction)

如果您正在执行多个相互依赖的查询,那么如果其中一个查询失败,您可以使用事务处理来确保没有保存到数据库中的任何内容。

try mysqlDriver.transaction { conn in
    // delete user's pets, then delete user
    // if one of these fails, the transaction will rollback
    try user.pets.makeQuery(conn).delete()
    try user.makeQuery(conn).delete()
}

警告
确保使用到闭包中所提供的连接,以便在事务处理中包含您想要的所有查询。

指南(Manual)

您也可以手动将查询发送给驱动程序,而无需通过Fluent。

let query = try User.makeQuery()
...

let results = try mysqlDriver.query(query)
上一篇 下一篇

猜你喜欢

热点阅读