簡體   English   中英

將我的 Fluent 模型鏈接到預先存在的數據庫表

[英]Linking my Fluent model to a pre-existing database table

我一直在嘗試將我的 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)

非常感謝任何指導!

您不需要遷移。 您需要讓您的模型確認Migration並將模型添加為遷移或設置靜態defaultDatabase屬性。 那么你應該很高興去。

PS - 我認為您希望entity而不是name告訴它表名是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM