在Swift的grdb中,我们可以通过在模型的定义中使用primaryKey()方法来定义主键。该方法接受一个属性键路径作为参数,用于指定模型中的主键属性。

下面是一个示例:

import GRDB

struct User: Codable, FetchableRecord, PersistableRecord {
    var id: Int64
    var name: String
    var age: Int
    
    enum Columns {
        static let id = Column(CodingKeys.id)
        static let name = Column(CodingKeys.name)
        static let age = Column(CodingKeys.age)
    }
    
    static let databaseTableName = "users"
    
    static func setupTable(_ db: Database) throws {
        try db.create(table: databaseTableName) { t in
            t.column(Columns.id, primaryKey: true)
            t.column(Columns.name)
            t.column(Columns.age)
        }
    }
}

在上面的例子中,我们定义了一个名为User的模型结构体,其中包含了idnameage属性。我们使用primaryKey()方法将id属性指定为主键,并在setupTable方法中创建了对应的数据库表格。

需要注意的是,为了能够让grdb正确地将模型与数据库表格进行映射,模型需要遵循CodableFetchableRecordPersistableRecord协议,并提供databaseTableName属性来指定数据库表格的名称。

通过以上的定义,我们就成功地在Swift的grdb中定义了主键

中文回答Swift grdb 如何定义主键

原文地址: https://www.cveoy.top/t/topic/hG5m 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录