如果我们征得用户的同意发送电子邮件,我将尝试创建一个要存储的表。这些东西可以是weeklyEmails,monthylEmails,passwordChangesEmails,profileChangesEmails等。
这是我目前想做的:
*********************** UserConsent Table ***************************
|columns| |datatype|
ID uuid
User_id(Foreign_key) uuid
weeklyEmails boolean
monthlyEmai boolean
passwordChangeEmails boolean
缺点是,将来我想添加另一个同意,例如profileChangeEmails或dailyDigestEmails,我将不得不编写数据库迁移并添加一个新列。
在不需要创建新列的地方有更好的方法吗?
用于关系数据库。
答案 0 :(得分:0)
您的解决方案似乎足够。
要考虑的一件事是,是否值得像指定的那样将其分为1:1模型,而不是仅将列添加到用户表中。如果您的用户表相当小,则添加列可能会更简单,因此您不必处理关系管理。