美文网首页
vapor学习教程-Driver

vapor学习教程-Driver

作者: 晓蜻蜓 | 来源:发表于2017-04-24 11:46 被阅读0次

Driver

Fluent 引擎下的动力来源于驱动程序,Fluent默认配有内存驱动并且有许多供应商提供了像MySQL, SQLite, Mongo, PostgreSQL等数据库的驱动程序。

Paste_Image.png
该图显示了使用MySQL的驱动程序和提供程序之间的关系。 这种区别就是允许Fluent独立于Vapor而使用。
如果你想分离于vapor而独立使用Flunet,你就将驱动导入到你的包里,如果你使用vapor,就将导入提供者。
搜索Github:

并不是所有的驱动程序都有供应商,并不是所有的驱动程序或提供者都是最新的Vapor 1.0

Creating a Driver


Fluent是一个强大的数据库不可知软件包,用于持续化模型。它一开始的设计就是为了工作在关系型数据库和非关系型数据库。
符合Fluent.Driver的任何数据库将能够为FluentVapor提供模型。
驱动协议本身很简单的:

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
}

ID Key


ID键将用于为User.find()提供功能。在SQL,它是id,在MongoDB,它是_id。

Query


Fluent对每个查询都会调用此方法。正确理解Query中所有属性的驱动程序工作,并返回由Node表示的所需行,文档或其他数据。

Schema


在数据库预期接受模式查询之前,将调用模式方法。对于某些NoSQL数据库(如MongoDB),可以忽略这个。对于 SQL,这是根据Schema来调用CREATE和其他类似命令。

Raw


这是一个可选的方法,可以被接受字符串查询的任何Fluent驱动程序使用。如果您的数据库不接受此类查询,则可能会抛出错误。


继续学习vapor学习教程-目录

相关文章

  • vapor学习教程-Driver

    Driver Fluent 引擎下的动力来源于驱动程序,Fluent默认配有内存驱动并且有许多供应商提供了像MyS...

  • Vapor学习

    通过将Vapor官方文档进行梳理,了解Vapor所涉及到的知识点 Vapor英文教程Vapor中文教程官方Github

  • Vapor文档学习十九:FLUENT - Driver

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

  • vapor学习教程-Model

    Model Model是任何应用程序模型的基本协议,特别是要持久化的模型。 Model仅适用于Vapor,在Flu...

  • vapor学习教程-Query

    Query Query类对Fluent的所有交互都显得很强大。无论是使用.find()还是将数据保存到数据库中都调...

  • vapor学习教程-Commands

    Commands 在vapor自定义控制台命令是一件简单的事 Example 要创建自定义控制台命令,我们必须先创...

  • vapor学习教程-目录

    vapor官方文档翻译,例子比较旧,但不影响学习 前面的章节已有人翻译前部分章节内容 第二章 GUIDE 2.10...

  • vapor学习教程-Group

    Route Groups 将路由分组可以轻松地将多个路由添加公用的前缀,中间件或主机。路由组有两种不同的形式:组和...

  • vapor学习教程-Collection

    Route Collections 路由集合允许将多个路由和路由组组织在不同的文件或模块中。 Example 以下...

  • dyld: libssl.1.0.0.dylib not loa

    按照官网教程 ,咔咔两句命令下去之后 brew tap vapor/tap brew install vapor/...

网友评论

      本文标题:vapor学习教程-Driver

      本文链接:https://www.haomeiwen.com/subject/irnuattx.html