自定义主键的持久性“toSqlKey”
Persistent `toSqlKey` for custom primary key
我正在定义以下模型,其中 Category
具有 Text
.
类型的非整数主键 code
Category
code Text
Primary code
deriving Show Typeable
CategoryTreeNode
name Text
code CategoryId Maybe
lft Int MigrationOnly default=0
rgt Int MigrationOnly default=0
deriving Show Typeable
对于未定义 Primary
的模型,我可以使用 toSqlKey
将任意 Int64
转换为 Key Category
。具有自定义主键的模型是否有等效功能?
我通过查看 persistent 的 TH 模块找到了答案:
这一行表明 CategoryKey
是通过 TH 生成的,事实确实如此:
let x :: Key Category
x = CategoryKey "foobar"
我正在定义以下模型,其中 Category
具有 Text
.
code
Category
code Text
Primary code
deriving Show Typeable
CategoryTreeNode
name Text
code CategoryId Maybe
lft Int MigrationOnly default=0
rgt Int MigrationOnly default=0
deriving Show Typeable
对于未定义 Primary
的模型,我可以使用 toSqlKey
将任意 Int64
转换为 Key Category
。具有自定义主键的模型是否有等效功能?
我通过查看 persistent 的 TH 模块找到了答案:
这一行表明 CategoryKey
是通过 TH 生成的,事实确实如此:
let x :: Key Category
x = CategoryKey "foobar"