【发布时间】:2020-05-23 01:30:39
【问题描述】:
我一直在尝试将我的 PostgreSQL 数据库链接到一个 Swift Vapor 项目,所以我创建了到它的路由。我要访问的第一个表是my_database 调用users 中的一个表。它具有属性user_id(主整数键)和created_on(带有时区的时间戳)。
我已将我的 Vapor 项目链接到 my_database,以便我可以创建新模型。但是,如果我想访问预先存在的表 users 怎么办?以下是我从文档和一些教程中拼凑出来的内容:
我的初始模型:
final class Users: Model {
static let name = "users"
typealias ID = Int
typealias Database = PostgreSQLDatabase
static let idKey: WritableKeyPath<Users, Int?> = \.user_id
var user_id: Int?
var created_on: Date
}
extension Users: Content { }
我的迁移(我认为这只是一个“空白”迁移,只是为了将项目挂在桌子上?):
struct FirstMigration: PostgreSQLMigration {
static func prepare(on conn: PostgreSQLConnection) -> EventLoopFuture<Void> {
return conn.future()
}
static func revert(on conn: PostgreSQLConnection) -> EventLoopFuture<Void> {
return Future<Void>.done(on: conn)
}
}
还有我的配置:
var migrations = MigrationConfig()
migrations.add(migration: FirstMigration.self, database: .psql)
services.register(migrations)
非常感谢任何指导!
【问题讨论】:
标签: swift postgresql vapor server-side-swift vapor-fluent