Ecco l'incantesimo magico nella tua migrazione quando dichiari la colonna:
create_table :example do |t|
t.integer :field, :limit => 8
end
Il :limit => 8 è la magia in questo caso poiché postgres fa solo interi con segno a 4 byte quando dici solo intero. Questo utilizza numeri interi con segno a 8 byte.