我们如何定义大整数?

gee*_*ter 15 ruby sqlite ruby-on-rails heroku

可能重复:
Postgres DB上的整数超出范围

当我的代码尝试将大数字插入100001857905525到heroku的数据库中时,我收到错误:

ActiveRecord::StatementInvalid (PGError: ERROR:  integer out of range ) 
Run Code Online (Sandbox Code Playgroud)

该列已定义为整数.我使用sqlite3数据库.我的代码部署到heroku.

我在localhost上运行时工作正常.但是只有在heroku上运行代码时才会出现上述错误.也许我可以通过将列定义为长整数或双精度来解决问题.我如何在Ruby/Rails中执行此操作?

Dav*_*vid 39

在您的迁移中,您可以尝试这样做:

t.integer :uid, :limit => 8
Run Code Online (Sandbox Code Playgroud)

这将产生一个64位整数列.

(根据PostgreSQL文档,只有integer没有limit指定允许,最多10位数.)