Possible Duplicate:
Integer out of range on Postgres DB¿Cómo definimos enteros grandes?
Cuando mi código intenta insertar números grandes tales como 100001857905525
en una base de datos en Heroku, me sale el error:
ActiveRecord::StatementInvalid (PGError: ERROR: integer out of range)
La columna se ha definido como un entero. Yo uso una base de datos sqlite3. Mi código se implementa en heroku.
Funciona bien cuando ejecuto en localhost. Pero obtengo el error anterior solo cuando ejecuto el código en heroku. Quizás pueda resolver el problema definiendo la columna como un entero largo o doble. ¿Cómo hago esto en Ruby/Rails?
esta pregunta ya ha sido formulada y respondida aquí http://stackoverflow.com/questions/999570/integer -out-of-range-on-postgres-db –
SQLite es muy indulgente (es decir, todo el texto es texto, por lo que no hay límites en el tamaño de cadena, mirando sus [tipos de datos] (http://www.sqlite.org/datatype3). html) parece que los ints crecen según sea necesario hasta 8 bits), pero PostgreSQL (lo que Heroku usa) está optimizado para el rendimiento, por lo que debe encontrar el tipo correcto. Esta es una forma sutil de introducir código que funciona en el desarrollo pero no en la producción. –