如何使用 Yesod/Persistent 创建外键约束?
Posted
技术标签:
【中文标题】如何使用 Yesod/Persistent 创建外键约束?【英文标题】:How can I create a foreign key constraint using Yesod/Persistent? 【发布时间】:2014-06-23 14:54:41 【问题描述】:有没有办法使用 Persistent 的模式语法和 Postgres 后端创建外键约束?还是我需要使用 SQL 手动执行此操作?具体来说,一个ON DELETE CASCADE
关系,这样当一个HackDay
被删除时,它的所有子Project
s 都被删除:
HackDay
title Text
created UTCTime default=now()
votingClosed Bool default=false
deriving Show
Project
hackday HackDayId
title Text
creators Text
votes Int default=0
created UTCTime default=now()
deriving Show
【问题讨论】:
【参考方案1】:Persistent 目前没有对触发器的任何内置支持,尽管这是我们一直想要添加的东西(只是缺乏人力)。现在,您必须手动添加触发器。
【讨论】:
以上是关于如何使用 Yesod/Persistent 创建外键约束?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Yesod / Persistent 中正确使用 runDB
如何使用 Yesod/Persistent 访问两个不同的数据库服务器?