我正在使用ActsAsParanoid软删除用户。删除(软)用户后,我的客户想要创建具有相同电子邮件ID的用户。但是由于电子邮件列是唯一的,它会生成唯一的字段错误。所以我的问题是我们可以设置仅当deleted_at列为空时,email
列的唯一性。
如果你不理解我的问题,请回复。
答案 0 :(得分:2)
我想您可以将users
表的唯一性约束更改为:
UNIQUE (email, deletion_date)
这将有效:
NULL
。NULL
删除日期,而已删除的用户在那里有值。答案 1 :(得分:0)
嗯,只需将旧电子邮件更改为类似
这样,如果您需要查看旧电子邮件,则是删除下划线之前的所有内容。
换句话说,这里有新用户创建新帐户。
可能在后台有一个mutator,并在旧帐户上删除了下划线。
下划线仅删除了一个示例。