|
- //
- // File.swift
- //
- //
- // Created by Michiel Carman on 9/26/24.
- //
-
- import Foundation
- import Vapor
- import Fluent
-
- struct CreateUser: AsyncMigration {
- func prepare(on database: Database) async throws {
- try await database.schema(User.schema)
- .id()
- .field("username", .string, .required)
- .unique(on: "username")
- .field("password_hash", .string, .required)
- .field("created_at", .datetime, .required)
- .field("updated_at", .datetime, .required)
- .create()
- }
-
- func revert(on database: Database) async throws {
- try await database.schema(User.schema).delete()
- }
- }
-
- struct UpdateUser1: AsyncMigration{
- func prepare(on database: Database) async throws {
- try await database.schema(User.schema)
- .deleteField("created_at")
- .deleteField("updated_at")
- .update()
- }
-
- func revert(on database: Database) async throws {
- try await database.schema(User.schema)
- .field("created_at", .datetime, .required)
- .field("updated_at", .datetime, .required)
- .update()
- }
- }
- struct UpdateUser2_AddTokenfield: AsyncMigration {
- func prepare(on database: Database) async throws {
- try await database.schema(User.schema)
- .field("token", .string)
- .update()
- }
-
- func revert(on database: Database) async throws {
- try await database.schema(User.schema)
- .deleteField("token")
- .update()
- }
- }
- struct UpdateUser3_RemoveTokenfield: AsyncMigration {
- func prepare(on database: Database) async throws {
- try await database.schema(User.schema)
- .deleteField("token")
- .update()
- }
-
- func revert(on database: Database) async throws {
- try await database.schema(User.schema)
- .field("token", .string)
- .update()
- }
- }
|