Haskell 如何向数据库添加唯一键。如何使用quasiquoter持久化模型?

Haskell 如何向数据库添加唯一键。如何使用quasiquoter持久化模型?,haskell,yesod,esqueleto,Haskell,Yesod,Esqueleto,如何使用persistLowerCase Quasiqueter构建具有两个或多个字段的唯一键 使用的指导为简单网站创建模型时,会出现以下错误: Build FAILED $PREFIX/App/Models.hs: line 42, column 18: Not in scope: data constructor `GroupSlug' $PREFIX/App/Models.hs: line 43, column 19: Not in scope: data constructor

如何使用persistLowerCase Quasiqueter构建具有两个或多个字段的唯一键

使用的指导为简单网站创建模型时,会出现以下错误:

Build FAILED
$PREFIX/App/Models.hs: line 42, column 18:
  Not in scope: data constructor `GroupSlug'
$PREFIX/App/Models.hs: line 43, column 19:
  Not in scope: data constructor `GroupName'
App/Models.hs {-LANGUAGE EmptyDataDecls-} {LANGUAGE FlexibleContexts-} {LANGUAGE FlexibleInstances-} {-语言GADTs-} {-语言重载字符串-} {-语言拟语言-} {-语言模板haskell-} {-语言类型族-} {-语言类型同义词实例-} {-OPTIONS_GHC-fno警告孤儿-} 模块应用程序。模型在哪里 导入数据。文本 导入Database.Persist.TH 共享[mksqlsettings] ,mkMigrate migrateAll][小写| 邮递 组组ID postName文本 后置段代码文本 经文 文本内容 内容与文本 单柱后柱 衍生节目 组 groupId Int 组名文本 组段塞文本 父组ID 唯一组groupId groupSlug 衍生节目 |] App/Handlers.hs {-语言重载字符串-} 模块App.Handlers在哪里 导入数据库.Esqueleto 导入应用程序模型 GroupQueryX= 挑选$ 从$\g->do 在哪里。GroupSlug==。瓦尔x 返回$g^。组名 版本: Haskell平台2013.2 阴谋集团==1.19.2 持久==1.3.0.2 == 0.6.2 == 1.3.4.5
我是否遗漏了一些扩展或忽略了其他内容?

据我所知,您尝试使用的数据构造函数实际上被称为GroupSlug和GroupName,而不仅仅是GroupSlug和GroupName。这是因为数据类型是通过获取实体名称并将其与具有适当资本化的字段名称连接而生成的。尝试使用-ddump spaites命令行参数加载源文件,您应该可以在输出的某处看到它