2011-08-25 52 views
6

我从试图插入下面的整数越来越PGError: ERROR: integer out of range消息:100001389928198.的Heroku/Postgres的错误:整数超出范围

按照Postgres docs on numeric datatypes极限高得多(9223372036854775807)。我有一种感觉,Heroku将列视为普通整数而不是BIGINT。

我定义的迁移为BIGINT这样:在Heroku的迁移方面

t.column :uid, :bigint 

这是不正确?

+0

哇,这是一个巨大的数字!你用它做什么? – ardochhigh

+0

它的一个Facebook的uid(用于oauth的东西) – neon

+0

我明白了。所以我想现在我们将开始使用这些更大的int域。 – ardochhigh

回答

9

我不知道t.column是相同change_column或没有,但这里是如何根据API

change_column :table_name, :uid, :bigint 
+0

我原来的迁移是如上所述,但运行这一个伎俩。谢谢! – neon

+0

这对我也有效..令人惊讶的是:bigint没有被列为迁移指南中的列类型之一,并且:limit => 8在本地似乎对我有用.. –

+0

嗯...我试过这个,并得到错误未定义的方法'bigint'为#结束了t.integer:field,:limit => 8而不是限制大小。 – Lumbee