将外键存储在持久性的Id以外的字段中

时间:2016-03-19 10:30:56

标签: haskell persistent

我正在尝试在我创建的Unique字段上创建外键约束。这是模型的TemplateHaskell:

User json
  user_id      Text
  name         Text
  UniqueUserId user_id
  deriving Show Eq

UserPicture
  user_id           Text
  picture           ByteString
  UniqueUserPicture user_id
  -- Foreign           User UserPictureUser_id UserUser_id
  deriving Show Eq

我怎样才能使user_id中的UserPicture引用user_id中的User?这样我就可以级联User的删除,甚至可以更容易地将所有图片都提供给用户。

更新:好的,所以有必要将字段定义为主键。在这种情况下像这样:

User json 
  user_id      Text 
  name         Text 
  UniqueUserId user_id 
  Primary      user_id 
  deriving Show Eq

UserPicture
   user_id           Text
   picture           ByteString
   UniqueUserPicture user_id
   Foreign           User fkUser user_id
   deriving Show Eq

0 个答案:

没有答案