我在执行此操作时收到标题中的错误:
@shop.update(carrier_id: new_carrier_service.id)
new_carrier_service.id
是FixNum
在我的postgresql数据库中,carrier_id
为:t.integer "carrier_id", limit: 8
然后当我进入postgres控制台并查找carrier_id
字段时,PG说它为bigint
然后,如果我只是打开Rails控制台,并手动更新字段,我就不会收到错误,并且字段更新正常。
将字段从integer
更改为bigint
的迁移是:
class FixShopsCarrierIdUpDownAgain < ActiveRecord::Migration
def up
change_column :shops, :carrier_id, :integer, limit: 8
end
def down
change_column :shops, :carrier_id, :integer, limit: 4
end
end
我无法弄清楚发生了什么......