更改 Heroku PostGRES 的字符限制不会更改数据库中的列
Altering character limit on Heroku PostGRES doesn't change column in database
在我的 Heroku postgres 数据库中,我有一个 "string" 类型的列,限制为“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 列的大小。我该如何解决这个问题?
迁移应该有效。该错误可能与另一个尚未迁移的 table 有关。
在我的 Heroku postgres 数据库中,我有一个 "string" 类型的列,限制为“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 列的大小。我该如何解决这个问题?
迁移应该有效。该错误可能与另一个尚未迁移的 table 有关。