swift - 如何提供模型迁移/建表的默认值?
问题描述
class Foobar: Model {}
extension Foobar: Migration {}
当您刚刚创建一个新模型并且还想在数据库中创建一个表时,这两行可能已经足够了。
如果你想提供更多像var id: Int?
Vapor 这样的原始类型的属性,知道如何处理它。
但是如果你有这样的东西怎么办......
enum FancyType: String, Codable {
case awesome
// ...
}
...并且您的模型期望初始化和表创建的默认值?
class Foobar: Model {
let fancy: FancyType
init(fancy: FancyType = .awesome) {
self.fancy = fancy
}
}
就我而言,它只是因致命错误而崩溃:
DecodingError:无法从无效的字符串值 0 初始化 Foobar
有了这个,我很好奇如何在创建表时实际配置默认值。
解决方案
推荐阅读
- reactjs - 循环遍历数组时 useTransition 没有动画
- xml - Visual Studio 无法访问 OpenXml SDK 2.5
- javascript - 在页面刷新时保存切换位置
- asp.net - 如何将 32 位库安装到在 64 位机器上运行的 32 位 Web 应用程序?
- c# - 将方法作为参数传递时,Blazor 中的“@MethodName”和“MethodName”之间的区别?
- wix - Wixtoolset - 支持在 Logo 和 LogoFile 主题中显示 Ratina
- macos - 如何使我的应用程序安装程序成为 Mac OS(Catalina) 中受信任的应用程序?
- typescript - 在打字稿中递归转换对象树的所有叶子
- transloadit - 带有 transloadit 的旋转圆圈。是否可以使用水印或图像旋转?
- drupal - 在 Gatsby GraphQL 查询中努力过滤 Drupal 数据