swift - 在 Vapor 中手动在 SQLite 数据库中创建数据

标签 swift sqlite vapor server-side-swift

如何在Vapor项目中手动将数据添加到SQLite数据库中,以便在启动时其中已经有一些数据?

最佳答案

我用这个:

struct CreateAdminUser: Migration {

    static func prepare(on connection: SQLiteConnection) -> Future<Void> {
        let password = try? BCrypt.hash("secret")
        let user = User(email: "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2b464e6b4e534a465b474e054844055e40" rel="noreferrer noopener nofollow">[email protected]</a>", 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)

关于swift - 在 Vapor 中手动在 SQLite 数据库中创建数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53883704/

相关文章:

Swift 相当于 C gmtime?

android - SQLite 表约束唯一和 ON CONFLICT REPLACE 用法

SQLite - 在表 1 上插入触发器以有条件更新表 2

swift - Vapor,使用 PostgreSQL 流畅地保存/创建复杂模型

swift - 在 Vapor 中链接多个查询过滤器 - 服务器端 Swift

swift - 我在整合字典中的数据时遇到问题

ios - 在 iOS 中运行 UI 测试时如何在应用程序中命中断点?

swift - 如何使用 Vapor 响应图像?

swift - 在 init 中调用方法时遇到问题

java - 如何使用Android连接到内部存储中的sqlite数据库文件?