如何在模型迁移/表创建时提供默认值?

时间:2018-10-11 15:59:20

标签: swift migration vapor

class Foobar: Model {}
extension Foobar: Migration {}

当您刚刚创建新模型并且还想在数据库中创建表时,这两行可能已经足够。

如果您想提供更多诸如var id: Int?之类的原始类型的属性,蒸气知道如何处理。

但是如果您有类似的东西...

enum FancyType: String, Codable {
    case awesome
    // ...
}

...并且您的模型需要初始化和创建表的默认值吗?

class Foobar: Model {
    let fancy: FancyType

    init(fancy: FancyType = .awesome) {
        self.fancy = fancy
    }
}

就我而言,它只是崩溃并显示致命错误:

  

DecodingError:无法从无效的字符串值0初始化Foobar

因此,我很好奇如何在创建表时实际配置默认值。

0 个答案:

没有答案