我有一个具有两个唯一约束的User实体:
share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase|
User
ident Text
email Text
...
UniqueUser ident
UniqueUserEmail email
|]
此实体有两个可能的字段,可以抛出唯一约束违规,我希望能够单独处理每个字段。不幸的是,insertUnique
函数只能告诉我违反了 某些 约束,但
虽然replaceUnique
会返回Unique
违规行为,但似乎并不是基于insert
的功能的等效功能。
所以,似乎checkUnique
是我最好的选择,而且我尝试推出使用PersistEntity
类中某些低级函数的东西(特别是{ {1}}和persistUniqueToFieldNames
函数),但我能想到的最好的事情是使用相当粗制的字符串相等来处理相应的违规,而不是数据类型匹配。
在我深入研究字符串类型的实现之前,我想我在这里问是否有更好的方法来解决这类问题。谢谢大家的时间。