Para colunas do tipo
integer
, o :limit
value é o comprimento máximo da coluna em bytes (documentação ). Com 4 bytes de comprimento, o maior inteiro com sinal que você pode armazenar é 2.147.483.647, muito menor que seu valor de 4.825.733.517. Você pode aumentar o limite de bytes, por exemplo, para 8 bytes para ser um inteiro longo (um tipo PostgreSQL grande ), isso permitirá que você armazene valores assinados de até 9.223.372.036.854.775.807.
Você pode fazer isso com uma migração criá-la com algo como
rails generate migration change_integer_limit_in_your_table
, e o seguinte código:class ChangeIntegerLimitInYourTable < ActiveRecord::Migration
def change
change_column :your_table, :your_column, :integer, limit: 8
end
end