使用 vapor + fluent 的字符串主键
string primary key with vapor + fluent
我想要一个 table,其中一个字符串列作为主键,而不必使用原始 SQL 语法。
这是我的流利程度"preparation":
static func prepare(_ database: Database) throws {
try database.create("roles") { roles in
roles.id("name")
roles.string("readable_name")
}
}
根据我的测试和文档,结果查询将类似于:
CREATE TABLE `roles` (`name` INTEGER PRIMARY KEY NOT NULL, `readable_name` TEXT NOT NULL)
到目前为止,我无法找到一种方法将字符串(TEXT、VARCHAR、...)作为没有原始 SQL 语法的主键,我想知道是否可以使用 vapor 附带的流畅查询构建器来做或不做。
在 Fluent 2 中添加了对除 INT 之外的 ID 类型的支持。
我想要一个 table,其中一个字符串列作为主键,而不必使用原始 SQL 语法。
这是我的流利程度"preparation":
static func prepare(_ database: Database) throws {
try database.create("roles") { roles in
roles.id("name")
roles.string("readable_name")
}
}
根据我的测试和文档,结果查询将类似于:
CREATE TABLE `roles` (`name` INTEGER PRIMARY KEY NOT NULL, `readable_name` TEXT NOT NULL)
到目前为止,我无法找到一种方法将字符串(TEXT、VARCHAR、...)作为没有原始 SQL 语法的主键,我想知道是否可以使用 vapor 附带的流畅查询构建器来做或不做。
在 Fluent 2 中添加了对除 INT 之外的 ID 类型的支持。