相关疑难解决方法(0)

MYSQL:用户 - 配置文件详细信息表设置 - 最佳实践

在普通用户表"user"(user_id/user_email/user_pwd/etc)旁边,存储配置文件信息的最佳方法是什么?

是否只需将字段添加到用户表中,如"user"

(user_id/user_email/user_pwd/user_firstname/user_lastname/user_views/etc)
Run Code Online (Sandbox Code Playgroud)

或者创建另一个名为"profiles"的表

(profile_id/user_id/user_firstname/user_lastname/user_views/etc)
Run Code Online (Sandbox Code Playgroud)

或者会去一个带有属性定义的表和另一个表来存储这些值?

我知道最后一个是最灵活的,因为您可以轻松添加和删除字段.但对于一个大型网站(5万用户),这会快吗?

php mysql

18
推荐指数
3
解决办法
1万
查看次数

将用户身份验证详细信息存储在单独的表中的优点

我在mysql中有一个用户表,其中包含所有用户数据(名字,姓氏,地址等)

但是,我应该将身份验证详细信息存储在另一个表(用户名,密码)中,并通过用户ID链接两个表吗?

这有什么意义吗?

它更安全吗?

还是只是增加额外的编码?

database-design database-optimization

3
推荐指数
2
解决办法
1049
查看次数

Rails - Devise - 将配置文件信息添加到单独的表中

我正在使用 Devise 在我的应用程序中构建注册/身份验证系统。

查看了相当多的用于向设计模型添加信息的资源(例如用户名、传记、头像 URL 等)[资源包括Jaco Pretorius 的网站这个(格式错误的)SO 问题这个 SO 问题

一切都很好——它有效。但我的问题是它保存到 User 模型,根据数据库规范化也引用这个 SO 问题has_one),它实际上应该保存到通过and连接的 User 子模型belongs_to

到目前为止,我已经User通过 Devise 创建了一个模型。我还UserProfile通过rails generate脚本创建了一个模型。

user.rb(供参考)

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable, :confirmable, :recoverable, :rememberable, :trackable, :validatable

  has_one :user_profile, dependent: :destroy
end
Run Code Online (Sandbox Code Playgroud)

用户配置文件.rb

class UserProfile < ActiveRecord::Base
  belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

时间戳_创建_用户_配置文件.rb

class CreateUserProfiles < ActiveRecord::Migration
  def change
    create_table :user_profiles do |t|
      t.string …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails devise

2
推荐指数
1
解决办法
2198
查看次数