Определение первичного ключа id BIGINT PRIMARY KEY при создании модели (таблицы БД) ActiveRecord Ruby on Rails
Иногда возникает необходимость использования большего диапазона для значений первичного ключа (идентификатора записи) в модели, когда количество записей будет явно превышать допустимый диапазон, предоставляемый INT в MySQL. Прямого механизма указания типа первичного ключа в ActiveRecord::Migration не существует, но есть метод execute:
class CreateProducts < ActiveRecord::Migration
  def change
    create_table :products do |t|
      ... 
    end
    add_index ...
    ...
    # или BIGINT UNSIGNED AUTO_INCREMENT
    # для еще большего диапазона
    execute "ALTER TABLE products MODIFY id BIGINT AUTO_INCREMENT"
  end
end