Hier ist die magische Beschwörung in Ihrer Migration, wenn Sie die Spalte deklarieren:
create_table :example do |t|
t.integer :field, :limit => 8
end
Das :limit => 8 ist in diesem Fall die Magie, da Postgres nur signierte 4-Byte-Integer ausgibt, wenn Sie nur Integer sagen. Dies verwendet 8-Byte-Ganzzahlen mit Vorzeichen.