【问题标题】:Altering character limit on Heroku PostGRES doesn't change column in database更改 Heroku PostGRES 的字符限制不会更改数据库中的列
【发布时间】:2015-04-30 18:47:32
【问题描述】:

在我的 Heroku postgres 数据库中,我有一列“字符串”类型的列,限制为“50”个字符。

我刚刚进行了迁移,将限制更改为 80 个字符。

class ChangeTagLineLimit < ActiveRecord::Migration
  def up
    change_column :blocks, :tag_line, :string, :limit => 80
  end
  def down
    change_column :blocks, :tag_line, :string, :limit => 50
  end
end

但是,当我尝试保存记录时,出现此错误:

PG::StringDataRightTruncation: ERROR: value too long for type character varying(50)

听起来 PostGRES 没有改变 varchar 列的大小。我该如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails postgresql ruby-on-rails-4 heroku


    【解决方案1】:

    该迁移应该有效。该错误可能与另一个尚未迁移的表有关。

    【讨论】:

      猜你喜欢
      • 2014-05-13
      • 2015-11-06
      • 2011-07-02
      • 2021-01-15
      • 2017-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多