我正在关注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),我还是要做一个品牌新用户模型?
感谢任何帮助 谢谢
答案 0 :(得分:3)
rails g model
命令(rails generate model
的缩写版本)默认将数据类型设置为字符串。所以这些列应该是字符串。
即使uid
可能仅包含数字,但大多数情况下它都太大而无法放入整数列。此外,有时,根据提供者的不同,它可能包含字母和其他字符,因此该字段绝对应该是字符串类型。
最后,您仍然可以将omniauth-facebook与Master
模型一起使用。只需确保您记得将常规的User
引用更改为Master
。