omn​​iauth-facebook用户模型数据类型

时间:2013-12-20 15:24:08

标签: ruby-on-rails omniauth

我正在关注railscasts facebook身份验证集http://railscasts.com/episodes/360-facebook-authentication并通过

创建用户模型
rails g model user provider uid name oauth_token oauth_expires_at:datetime

我的问题是我已经有了一个用户模型(我称之为master),所以我尝试了迁移:

class AddomniauthfacebookattributesToMasters < ActiveRecord::Migration
  def change
    add_column :masters, :provider
    add_column :masters, :uid
    add_column :masters, :name
    add_column :masters, :oauth_token
    add_column :masters, :oauth_expires_at, :datetime 
  end
end

但我意识到他没有为前4列添加任何数据类型。

第一个问题:数据类型应该是什么?字符串,整数,字符串,字符串? 第二个问题:既然我已经有了一个用户模型(我称之为master),我可以将omniauth-facebook授权合并到Master模型中,或者,因为我已经更改为默认名称(user to master),我还是要做一个品牌新用户模型?

感谢任何帮助 谢谢

1 个答案:

答案 0 :(得分:3)

rails g model命令(rails generate model的缩写版本)默认将数据类型设置为字符串。所以这些列应该是字符串。

即使uid可能仅包含数字,但大多数情况下它都太大而无法放入整数列。此外,有时,根据提供者的不同,它可能包含字母和其他字符,因此该字段绝对应该是字符串类型。

最后,您仍然可以将omniauth-facebook与Master模型一起使用。只需确保您记得将常规的User引用更改为Master