För kolumner av typen integer
, :limit
värde är den maximala kolumnlängden i byte (dokumentation ).
Med en längd på 4 byte är det största heltal med tecken du kan lagra 2 147 483 647, mycket mindre än ditt värde på 4 825 733 517. Du kan öka bytegränsen, till exempel till 8 byte för att vara ett långt heltal (en stor PostgreSQL-typ ), detta gör att du kan lagra signerade värden upp till 9 223 372 036 854 775 807.
Du kan göra detta med en migrering skapa den med något i stil med rails generate migration change_integer_limit_in_your_table
och följande kod:
class ChangeIntegerLimitInYourTable < ActiveRecord::Migration
def change
change_column :your_table, :your_column, :integer, limit: 8
end
end