【问题标题】:PG::StringDataRightTruncation: ERROR: value too long for type character varying(255)PG::StringDataRightTruncation:错误:对于类型字符变化的值太长(255)
【发布时间】:2014-03-10 23:26:32
【问题描述】:

宝石文件:

gem "oauth2"
gem "omniauth-gmail"
gem 'omniauth-facebook'
gem "omniauth-google-oauth2"

我是 ruby​​ on rails 的新手。我成功注册了 facebook,但是当我尝试注册 gmail 时,我收到了以下 PG 错误。

请给我任何建议,我也将地址的数据类型从字符串更改为文本但没有得到结果。


ActiveRecord::StatementInvalid at /users PG::StringDataRightTruncation: ERROR: value too long for type 字符变化(255):插入“用户”(“地址”,“城市”, “confirmation_sent_at”、“confirmation_token”、“confirmed_at”、 “国家”、“created_at”、“current_sign_in_at”、“current_sign_in_ip”、 “电子邮件”、“加密密码”、“facebookimage”、“图像”、 “last_sign_in_at”、“last_sign_in_ip”、“纬度”、“经度”、 “会员”、“提供者”、“remember_created_at”、 “reset_password_sent_at”、“reset_password_token”、“sign_in_count”、 “状态”、“uid”、“unconfirmed_email”、“updated_at”、“用户名”、“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”应用程序框架所有框架救援日志 活动记录(3.2.12) lib/active_record/connection_adapters/abstract_adapter.rb,第 285 行


【问题讨论】:

标签: ruby-on-rails postgresql


【解决方案1】:

该字段的类型应为 :text,而不是迁移文件中的 :string

【讨论】:

  • 哪个字段?能说清楚吗?
【解决方案2】:

这可能是由远程服务器中过时的迁移测试数据库引起的。

试试:

rake db:migrate db:test:prepare

然后再次运行迁移。

【讨论】:

    【解决方案3】:

    或者,这里是使用 heroku 命令行中的 pg:psql 的直接方法。您绝对应该添加一个迁移文件来解决这个问题,以免造成任何差异。

    http://www.dchapman.io/posts/changing-column-type-in-postgresql-rails

    【讨论】:

      猜你喜欢
      • 2016-07-26
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      • 2019-10-01
      相关资源
      最近更新 更多