Vapor文档学习十九:FLUENT - Driver

2017-04-21  本文已影响92人  Supremodeamor

Fluent是第一个Swift ORM,它与各种各样的数据库非常相似。 它提供了一种使用简单、表达精美的语法来与数据库进行交互。

Driver是引擎中强大的Fluent,Fluent具有默认的存储驱动,另外有许多数据库驱动的providers可以使用,比如:MySQL、SQLite、Mongo、PostgreSQL等等。


上图以MySQL为例,显示了ProviderDriver之间的关系,这种区别可以让Fluent独立于Vapor使用。
如果你不想通过Vapor使用Fluent,你可以将Driver添加到你的package中,如果你要使用Vapor,你可以导入Provider。(也就是说要么你往自己的开发包中添加驱动程序,要么就引入对应的Provider,使用Vapor进行开发。)
GitHub搜索:

目前不是每个Driver都有Provider,也不是每个Driver的Provider都满足最新版本的Vapor。这需要伟大的奉献和努力。

Creating a Driver

Fluent是一种很强大,支持多种数据库模型持久化的软件包,它最开始是为SQL和NoSQL数据库设计的。
遵守Fluent.Driver协议的任何数据库都可以为Fluent和Vapor提供数据模型。

Driver协议:

public protocol Driver {
    var idKey: String { get }
    func query<T: Entity>(_ query: Query<T>) throws -> Node
    func schema(_ schema: Schema) throws
    func raw(_ raw: String, _ values: [Node]) throws -> Node
}
上一篇 下一篇

猜你喜欢

热点阅读