Создание данных в базе данных SQLite вручную в Vapor

Как вручную добавить данные в базу данных SQLite в проекте Vapor, чтобы при запуске уже были какие-то данные?

1 ответ

Решение

Я использую это:

struct CreateAdminUser: Migration {

    static func prepare(on connection: SQLiteConnection) -> Future<Void> {
        let password = try? BCrypt.hash("secret")
        let user = User(email: "me@example.co.uk", password: password!)
        return user.save(on: connection).transform(to: ())
    }

    static func revert(on connection: SQLiteConnection) -> Future<Void> {
        return Future.map(on: connection) {}
    }
}

Затем я положил эту строку в configure.swift миграции:

migrations.add(migration: CreateAdminUser.self, database: .sqlite)
Другие вопросы по тегам