Vapor MySQL Timestamps Значения по умолчанию - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь создать модель с разными временными метками (созданный, обновленный, удаленный) со значениями по умолчанию. Как этого достичь? Я пытался поиграть с методом prepare, но безрезультатно. Заранее спасибо.

Это мой текущий класс: enter image description here

1 Ответ

0 голосов
/ 30 ноября 2018

Vapor предлагает что-то вроде:

 static func prepare(on connection: MySQLConnection) -> Future<Void> {
        return Database.create(self, on: connection) { builder in
             builder.field(for: \.iq, type: .int, .default(.literal("123456")))
            ...

, это также должно работать с датами.

Или вы можете попытаться установить их в пользовательском init:

 required init(id:Int?, adressLine1:String, adressLine2:String?, city:String, state:String, zip:String) {
    self.id = id
    self.adressLine1 = adressLine1
    self.adressLine2 = adressLine2
    self.city:String = city:String
    self.state = state
    self.zip = zip
    self.createdAt = Date() //<---- here
    self.updatedAt = Date() //<---- here 
    self.deletedAt = Date() //<---- here
}

или:

required init(id:Int?, adressLine1:String, adressLine2:String?, city:String, state:String, zip:String, 
createdAt:Date = Date()/*<--- here*/, updatedAt:Date = Date()/*<--- here*/,deletedAt:Date = Date()/*<--- here*/) {
        self.id = id
        self.adressLine1 = adressLine1
        self.adressLine2 = adressLine2
        self.city:String = city:String
        self.state = state
        self.zip = zip
        self.createdAt = createdAt
        self.updatedAt = updatedAt
        self.deletedAt = deletedAt
    }
...