Pour les colonnes de type integer
, le :limit
la valeur est la longueur maximale de la colonne en octets (documentation ).
Avec une longueur de 4 octets, le plus grand entier signé que vous pouvez stocker est 2 147 483 647, bien plus petit que votre valeur de 4 825 733 517. Vous pouvez augmenter la limite d'octets, par exemple à 8 octets pour être un entier long (a type Bigint PostgreSQL ), cela vous permettra de stocker des valeurs signées jusqu'à 9 223 372 036 854 775 807.
Vous pouvez le faire avec une migration, créez-la avec quelque chose comme rails generate migration change_integer_limit_in_your_table
, et le code suivant :
class ChangeIntegerLimitInYourTable < ActiveRecord::Migration
def change
change_column :your_table, :your_column, :integer, limit: 8
end
end