Это работает в рельсах 3, не уверен, что это будет работать в рельсах 2.
Во всем приложении мне требовалось, чтобы мои первичные ключи были bigint unsigned.
В итоге я положил в свой config / environment.rb
require 'active_record/connection_adapters/mysql2_adapter'
ActiveRecord::ConnectionAdapters::Mysql2Adapter::NATIVE_DATABASE_TYPES[:primary_key] =
"BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY".freeze
Это позволяет рельсам автоматически создавать идентификаторы как BigInts.
Когда я делаю ссылку из другой таблицы, я делаю следующее
t.column :product_id, 'BIGINT UNSIGNED'