我正在制作一个使用用户模型的应用程序,该模型将使用设计进行身份验证。我也用它已经拥有的大量数据播种它,并为我预期的数据制作列(例如社交网络配置文件和我尚未拥有的个人信息)。随着表列开始累加,我想到我可能会为身份验证数据创建一个User表,然后是某种User_Profile表,以获取有关将在其配置文件页面上显示的用户的详细信息。我想知道这是否是一个更好的主意,或者只是将所有内容都放在一个表中,然后继续添加更多与用户相关的列,就像我想到的那样。
User.create!(
devise related columns ommitted....
firstname: "Marcy",
middle: "Eve",
lastname: "Bishopf",
sex: "f",
company: "Johnston Windows",
address: "210-3260 North Dr",
city: "Victoria",
province: "BC",
postal: "V9T 1XS",
email: "mb@blahblah",
phone: "(250) 756-3777",
website: ""
twitter: "",
facebook: "",
linkedin: "",
year: "",
school: ""
motto: ""
more columns for personal data that I haven't thought of yet
)
答案 0 :(得分:0)
如果我理解正确,您需要在数据库中保留用户身份验证以及用户元数据(名称和其他配置文件字段)。
您绝对应该规范化数据库,首选用户表进行身份验证以及用户表中user_id引用的单独用户配置文件表。
这一点很重要,原因如下: