Possible Duplicate:
Integer out of range on Postgres DB我们如何定义大整数?
当我的代码试图大的数字,如100001857905525
插入在Heroku上的数据库,我得到的错误:
ActiveRecord::StatementInvalid (PGError: ERROR: integer out of range)
该列已经被定义为整数。我使用一个sqlite3数据库。我的代码被部署到heroku。
当我在本地主机上运行时,它工作正常。但是,只有当我在heroku上运行代码时才会出现上述错误。 也许我可以通过将列定义为长整数或双精度来解决问题。我如何在Ruby/Rails中执行此操作?
这个问题已经被问和在这里得到解答http://stackoverflow.com/questions/999570/integer -out-of-range-on-postgres-db – 2011-06-15 02:53:03
SQLite非常宽容(即所有文本都是文本,所以没有限制字符串大小,查看它们的[数据类型](http://www.sqlite.org/datatype3)。 html),看起来int必需增长到8位),但PostgreSQL(Heroku使用的)对性能进行了优化,所以你必须找到正确的类型。这是引入可用于开发但不在生产环境中的代码的一种微妙方式。 – 2011-06-15 05:12:19