// // File.swift // // // Created by Michiel Carman on 9/26/24. // import Foundation import Vapor import Fluent struct CreateTokens: Migration { func prepare(on database: Database) -> EventLoopFuture { // 2 database.schema(Token.schema) // 3 .id() .field("user_id", .uuid, .references("user", "id")) .field("value", .string, .required) .unique(on: "value") .field("source", .int, .required) .field("created_at", .datetime, .required) .field("expires_at", .datetime) .create() } // 5 func revert(on database: Database) -> EventLoopFuture { database.schema(Token.schema).delete() } } struct UpdateTokens1: Migration { func prepare(on database: Database) -> EventLoopFuture { // 2 database.schema(Token.schema) // 3 .deleteField("source") .deleteField("created_at") .deleteField("expires_at") .update() } // 5 func revert(on database: Database) -> EventLoopFuture { database.schema(Token.schema) .field("source", .int, .required) .field("created_at", .datetime, .required) .field("expires_at", .datetime) .update() } }