将 Sugar
添加到包依赖项中(在你的 Package.swift
文件中)
dependencies: [
...,
.package(url: "https://github.com/nodes-vapor/sugar.git", from: "4.0.0")
]
以及你的目标(例如 “App”)
targets: [
...
.target(
name: "App",
dependencies: [... "Sugar" ...]
),
...
]
确保在需要时,你在任何地方都导入了 Sugar
import Sugar
此包包含许多杂项功能,这些功能可能不适合放入其自己的包中,或者最好 PR 到 Vapor 中。以下是此包包含的一些示例
通过编写以下内容访问环境变量
env("my-key", "my-fallback-value")
如果你想让你的模型可种子化,你可以使其遵循 Seedable
协议,并使用 SeederCommand
来包装你的可种子化模型。这基本上意味着你可以专注于在运行命令时模型如何初始化,并在实际执行数据库工作时节省一些代码。
将添加种子化模型的多个实例 - 欢迎提交 PR。
此包包含许多与 JWT、用户名和密码相关的便利功能,这些功能在 JWTKeychain 和 Admin Panel 中使用。
Sugar 包含一个助手函数,用于添加属性,同时排除一些特定的属性。如果你只想修改单个或几个字段的准备方式,这将更加方便。
extension MyModel: Migration {
static func prepare(on connection: MySQLConnection) -> Future<Void> {
return MySQLDatabase.create(self, on: connection) { builder in
try addProperties(to: builder, excluding: [\.title])
builder.field(for: \.title, type: .varchar(191))
}
}
}
此包由 Nodes 的 Vapor 团队开发和维护。
此包是根据 MIT 许可证 授权的开源软件