Dla kolumn typu integer
, :limit
wartość to maksymalna długość kolumny w bajtach (dokumentacja ).
Przy długości 4 bajtów największa liczba całkowita ze znakiem, jaką można przechowywać, to 2 147 483 647, czyli znacznie mniejsza niż wartość 4 825 733 517. Możesz zwiększyć limit bajtów, na przykład do 8 bajtów, aby być długą liczbą całkowitą (a duży typ PostgreSQL ), pozwoli to na przechowywanie podpisanych wartości do 9 223 372 036 854 775 807.
Możesz to zrobić za pomocą migracji, utwórz ją za pomocą czegoś takiego jak rails generate migration change_integer_limit_in_your_table
i następujący kod:
class ChangeIntegerLimitInYourTable < ActiveRecord::Migration
def change
change_column :your_table, :your_column, :integer, limit: 8
end
end