如何在流利的迁移中为非视野添加一个默认值? 我目前有一个错误: ⚠️postgresql错误:列“ firstName”包含null值 我唯一的选择是 公共...

问题描述 投票:0回答:2
我唯一的选择是

public func field<T>(for key: KeyPath<Self.Model, T>, isIdentifier: Bool? = nil) public func field<T>(for key: KeyPath<Self.Model, T>, type: Self.Model.Database.SchemaFieldType)

Edit:

感谢Tim的回答,解决方案是:
static func prepare(on conn: PostgreSQLConnection) -> Future<Void> {
        return Database.update(User.self, on: conn) { builder in
            builder.field(for: \User.firstName, type: .text, .default(.literal("")))
        }
    }

如果有人到达这里并试图在蒸气4中进行操作:
func prepare(on database: Database) -> EventLoopFuture<Void> {
    database.schema("event")
        .field("is_private", .bool, .sql(.default(false)))
        .update()
}
swift vapor vapor-fluent
2个回答
14
投票

the是您尚未看到的另一个选择:

static func prepare(on connection: PostgreSQLConnection) -> Future<Void> {
  return Database.update(Event.self, on: connection) { builder in
    builder.field(for: \Event.isPrivate, type: .boolean, .default(.literal(.boolean(.false))))
  }
}

7
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.