Я пытался связать свою базу данных 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)
Любой руководство очень ценится!