Đối với các cột thuộc loại integer
, :limit
giá trị là độ dài cột tối đa tính bằng byte ( tài liệu ).
Với độ dài 4 byte, số nguyên có dấu lớn nhất mà bạn có thể lưu trữ là 2,147,483,647, nhỏ hơn giá trị của bạn là 4,825,733,517. Bạn có thể tăng giới hạn byte, chẳng hạn như 8 byte thành số nguyên dài (a bigint Loại PostgreSQL ), điều này sẽ cho phép bạn lưu trữ các giá trị đã ký lên đến 9.223.372.036.854.775.807.
Bạn có thể thực hiện việc này với một quá trình di chuyển, hãy tạo nó bằng một cái gì đó như rails generate migration change_integer_limit_in_your_table
và mã sau:
class ChangeIntegerLimitInYourTable < ActiveRecord::Migration
def change
change_column :your_table, :your_column, :integer, limit: 8
end
end