在Swift 5.2和Xcode 11.4中,使用Vapor 4.0.0进行编码PK(主键)的方法如下:
@ID
属性包装器来标记该属性作为主键。例如:import Vapor
import Fluent
final class MyModel: Model, Content {
static let schema = "my_models"
@ID(key: .id)
var id: UUID?
// 其他属性...
}
在上述示例中,id
属性被标记为主键,并使用UUID
作为主键类型。你可以根据需要选择其他类型,如整数或字符串。
import Vapor
import Fluent
struct CreateMyModel: Migration {
func prepare(on database: Database) -> EventLoopFuture<Void> {
database.schema("my_models")
.id()
.field("name", .string)
// 其他字段...
.create()
}
func revert(on database: Database) -> EventLoopFuture<Void> {
database.schema("my_models").delete()
}
}
在上述示例中,使用.id()
方法来创建主键字段。
vapor run migrate
这将在数据库中创建一个名为"my_models"的表,并将"ID"字段设置为主键。
现在,你的模型中的PK已经编码完成。你可以使用Fluent提供的各种方法来操作和查询具有主键的模型。
注意:以上答案中没有提及腾讯云相关产品和产品介绍链接地址,因为腾讯云与Swift、Xcode、Vapor等技术并没有直接相关的云计算产品。
领取专属 10元无门槛券
手把手带您无忧上云