UserConsent的数据库设计

时间:2019-05-30 22:01:27

标签: database database-design relational-database

如果我们征得用户的同意发送电子邮件,我将尝试创建一个要存储的表。这些东西可以是weeklyEmails,monthylEmails,passwordChangesEmails,profileChangesEmails等。

这是我目前想做的:

*********************** UserConsent Table ***************************

   |columns|                      |datatype|
    ID                              uuid
    User_id(Foreign_key)            uuid
    weeklyEmails                    boolean
    monthlyEmai                     boolean
    passwordChangeEmails            boolean

缺点是,将来我想添加另一个同意,例如profileChangeEmails或dailyDigestEmails,我将不得不编写数据库迁移并添加一个新列。

在不需要创建新列的地方有更好的方法吗?

用于关系数据库。

1 个答案:

答案 0 :(得分:0)

您的解决方案似乎足够。

要考虑的一件事是,是否值得像指定的那样将其分为1:1模型,而不是仅将列添加到用户表中。如果您的用户表相当小,则添加列可能会更简单,因此您不必处理关系管理。