I'm use vapor 4
struct MakeRegionOptional: AsyncMigration {
func prepare(on database: Database) async throws {
try await database.schema("Attraction")
.updateField("region", .string)
.update()
}
func revert(on database: Database) async throws {
try await database.schema("Attraction")
.field("region", .sql(.default("")))
.update()
}
}
also adding migrations in the configuration file update table model.
app.migrations.add(MakeRegionOptional())
// Attraction model for table
final class Attraction: Model, Content {
static let schema = "Attraction"
@ID(key: .id)
var id: UUID?
//Before
//@Field(key: "region")
//var region: String
// after make optional
@OptionalField(key: "region")
var region: String?
init() { }
init(id: UUID? = nil, region: String?) {
self.id = id
self.region = region
}
}
I'm trying to make optional region field using migration. But my code is not working maybe my migration is wrong. Anyone knows how to make working on this migration?