// configure.swift func configure(_ app: Application) throws { app.migrations.add(Todo(), to: .psql) try app.migrator.setupIfNeeded().wait() try app.migrator.prepareBatch().wait() } // Todo.swift final class Todo: Model, Content { static let schema = "todos2" @ID(key: "id") var id: UUID? @Field(key: "title") var title: String @Timestamp(key: "created_at", on: .create) public var createdAt: Date? @Timestamp(key: "updated_at", on: .update) public var updatedAt: Date? init() { } init(id: UUID? = nil, title: String) { self.id = id self.title = title } } extension Todo: Migration { func prepare(on database: Database) -> EventLoopFuture { database.schema(Self.schema) .field("id", .uuid, .identifier(auto: false)) .field("title", .datetime, .required) .field("created_at", .datetime) .field("updated_at", .datetime) .create() } func revert(on database: Database) -> EventLoopFuture { database.schema(Self.schema).delete() } }