宝石文件:
gem "oauth2"
gem "omniauth-gmail"
gem 'omniauth-facebook'
gem "omniauth-google-oauth2"
我是铁轨上的红宝石新手。我成功注册了facebook,但是当我尝试使用gmail注册时,我得到了以下PG错误。
请给我任何建议,我也将地址的数据类型从字符串更改为文本,但没有得到结果。
ActiveRecord :: StatementInvalid at / users PG :: StringDataRightTruncation:ERROR:value对于类型来说太长 字符变化(255):INSERT INTO“users”(“地址”,“城市”, “confirmation_sent_at”,“confirmation_token”,“confirmed_at”, “country”,“created_at”,“current_sign_in_at”,“current_sign_in_ip”, “email”,“encrypted_password”,“facebookimage”,“image”, “last_sign_in_at”,“last_sign_in_ip”,“纬度”,“经度”, “membership”,“提供者”,“remember_created_at”, “reset_password_sent_at”,“reset_password_token”,“sign_in_count”, “state”,“uid”,“unconfirmed_email”,“updated_at”,“username”,“zip”) 价值($ 1,$ 2,$ 3,$ 4,$ 5,$ 6,$ 7,$ 8,$ 9,$ 10,$ 11,$ 12,$ 13,$ 14, $ 15,$ 16,$ 17,$ 18,$ 19,$ 20,$ 21,$ 22,$ 23,$ 24,$ 25,$ 26,$ 27,$ 28, $ 29)返回“id”应用程序框架所有框架在日志中进行救援 activerecord(3.2.12) lib / active_record / connection_adapters / abstract_adapter.rb,第285行
答案 0 :(得分:3)
该字段的类型应为:text
,而不是迁移文件中的:string
。
答案 1 :(得分:0)
或者,这是使用heroku命令行中的pg:psql的直接方法。您一定要添加一个解决此问题的迁移文件,以免造成任何差异。
http://www.dchapman.io/posts/changing-column-type-in-postgresql-rails
答案 2 :(得分:0)
这可能是由远程服务器中过时的迁移测试数据库引起的。
尝试:
rake db:migrate db:test:prepare
再次运行迁移。