import FluentKit /// Creates and drops the `passkeys` table backing ``PasskeyRecord``. struct CreatePasskey: AsyncMigration { // MARK: Methods func prepare(on database: Database) async throws { try await database.schema(PasskeyRecord.schema) .id() .field("user_id", .uuid, .required, .references(UserRecord.schema, "id", onDelete: .cascade)) .field("credential_id", .string, .required) .field("public_key", .string, .required) .field("sign_count", .int, .required) .field("created_at", .datetime, .required) .unique(on: "credential_id") .create() } func revert(on database: Database) async throws { try await database.schema(PasskeyRecord.schema) .delete() } }