php - 数据库模式设计 : What to do about unverified invitations?

标签 php sql schema

我不太确定如何解决这个问题:

我正在创建一个只有受邀注册系统的 Web 应用程序。管理员用户向用户发送电子邮件邀请,用户单击链接,然后将他们带到一个页面,他们可以在该页面创建一个已链接到其电子邮件地址的帐户。

我最初的想法是在我的 users 表中插入一行,并将 verified 列标记为 false。问题是我有用户名和密码作为必填字段,用户名必须是唯一的。所以我不能只插入一个空行以供稍后填写。

我应该为邀请创建一个单独的表吗?处理这种情况的最佳方法是什么?

更新:管理员将输入名字、姓氏、电子邮件地址和用户角色(权限)。所以我需要将所有这些东西存储在邀请表中。如果电子邮件需要重新发送,我还可以存储发送日期并更新该值。

最佳答案

是的,您将创建一个单独的表来管理邀请。

然后当邀请被接受时,您有几个选择。首先,您需要决定是否需要维护与原始邀请的关联,以用于跟踪或“家谱”或其他一些历史目的。

接下来,如果是这样,您需要决定如何做到这一点。删除邀请并存储任何相关信息和用户记录?保留邀请记录并设置外键?

如果我对您打算创建的系统有更多了解,我可能会提供一些更精细的建议。

关于php - 数据库模式设计 : What to do about unverified invitations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1632668/

相关文章:

sql - 将 smalldatetime 数据类型转换为 varchar 数据类型

ruby-on-rails - rake 数据库 :schema:load not populating schema_migrations table

xml - XSD key /keyref : hierarchical key structure

mysql - 小部件驱动站点的数据库架构建议

php - Laravel 4 - 不返回被调用方法时从存储库重定向

php - 创建用于将 xml 加载到 mysql 的字段

php - CakePHP cacheHelper - 找不到 appController 错误

sql - 使用 JOIN 和 RANK() 进行查询的性能问题

php - Paypal 订阅升级

sql - 我无法优化无序账单的支票