hummingbird-project/hummingbird-fluent · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
Hummingbird Fluent
用于连接 Fluent 数据库 ORM 的 Hummingbird 接口。
Hummingbird 本身不包含任何数据库驱动或 ORM。该库提供了与 Vapor 数据库 ORM 的连接方式。Vapor 的开发者们十分慷慨且具有前瞻性,确保 FluentKit 能够独立于 Vapor 使用。此软件包将 Fluent 的各种功能整合在了一起,同时还为 Hummingbird Persist 框架提供了驱动程序。
使用方法
以下代码用于初始化一个 SQLite 数据库,并添加一个迁移文件 CreateTodo。
import FluentSQLiteDriver
import HummingbirdFluent
let logger = Logger(label: "MyApp")
let fluent = Fluent(logger: logger)
// add sqlite database
fluent.databases.use(.sqlite(.file("db.sqlite")), as: .sqlite)
// add migration
await fluent.migrations.add(CreateTodo())
// migrate
if arguments.migrate {
try fluent.migrate().wait()
}
可以通过以下方式在路由中使用 Fluent。
let router = Router()
router
.group("todos")
.get(":id") { request, context in
guard let id = context.parameters.get("id", as: UUID.self) else { return request.failure(HTTPError(.badRequest)) }
return Todo.find(id, on: fluent.db())
}
此处我们返回一个在请求 URI 中指定了 id 的 Todo。
随后,你可以创建一个使用该路由器的应用程序,并将 Fluent 添加到其服务列表中,从而将它们整合在一起。
var app = Application(router: router)
// add the fluent service to the application so it can manage shutdown correctly
app.addServices(fluent)
try await app.runService()
文档说明
HummingbirdFluent 的参考文档可在此处查看 here],而更多关于 Fluent 的文档则可在 here] 找到。