Aqui está o encantamento mágico em sua migração quando você declara a coluna:
create_table :example do |t|
t.integer :field, :limit => 8
end
O :limit => 8 é a mágica neste caso, pois o postgres só faz inteiros de 4 bytes assinados quando você apenas diz integer. Isso usa inteiros assinados de 8 bytes.