2011-08-25 38 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