我不太确定如何解决这个问题:
我正在创建一个仅具有邀请注册系统的Web应用程序。管理员用户向用户发送电子邮件邀请,用户单击该链接,然后将其带到可以创建已链接到其电子邮件地址的帐户的页面。
我最初的想法是在我的users
表格中插入一行,verified
列标记为false
。问题是我有用户名,密码作为必填字段和用户名必须是唯一的。所以我不能只是插入一个空行来填写。
我应该为邀请创建单独的表格吗?什么是处理这种情况的最佳方式?
更新:管理员将输入名字,姓氏,电子邮件地址和用户角色(权限)。所以我需要将所有这些内容存储在邀请表中。如果需要重新发送电子邮件,我还可以存储已发送的日期并更新该值。
答案 0 :(得分:5)
是的,您可以创建一个单独的表来管理邀请。
然后,当接受邀请时,您有几个选择。首先,您需要决定是否需要维护与原始邀请的关联,以用于跟踪或“家谱”或其他一些历史目的。
接下来,如果是这样,您需要决定如何做到这一点。删除邀请并存储与用户记录相关的任何信息?保留邀请记录并设置外键?
如果我对您打算创建的系统有更多了解,我或许可以提供一些更精细的建议。
答案 1 :(得分:4)
您必须考虑邀请丢失,意外删除或出于其他原因而无法使用且必须重新发送的情况。
此外,邀请是与注册分开的实体。我认为你应该创建一个单独的表来跟踪邀请,看看谁注册(从哪个邀请)
答案 2 :(得分:0)
有几种方法来看待这个。如果您在创建另一个表的单独路径中,当评估阶段结束时会发生什么,您是否必须将这些评估用户复制到您的真实用户表?用户名可以默认为您编程为处理进入用户表的特制GUID。
答案 3 :(得分:0)
我会建议一个单独的邀请表。我觉得很明显,你的邀请基本上是一个允许某人注册的令牌。
答案 4 :(得分:0)
单独的表对我来说最有意义。这将允许您在users表中维护数据完整性,并提供更可读的数据模型。更容易说“邀请函进入邀请表”而不是“邀请进入用户表,但验证列设置为false”。