2011-08-25 29 views
6

dışında tamsayı aşağıdaki tamsayı eklemeye çalışmasını PGError: ERROR: integer out of range mesajı alıyorum: Postgres docs on numeric datatypes sınır göre 100001389928198.Heroku/Postgres Hata: aralık

(9223372036854775807) çok daha fazladır. Heroku'nun bir sütunu BIGINT yerine düzenli bir tam sayı olarak ele aldığını hissediyorum. Heroku taşıma açısından

t.column :uid, :bigint 

bu doğru değildir:

Böyle bir BIGINT göçü tanımlandığı?

+0

vay bu büyük bir rakamdır göre burada nasıl olduğunu t.columnchange_column ya da değil aynı olduğundan emin değilim, ama! Ne için kullanıyorsun? – ardochhigh

+0

bir facebook uid (oauth şeyler için) – neon

+0

görüyorum. Bu yüzden şimdi daha büyük int alanlarını kullanmaya başlayacağız. – ardochhigh

cevap

9

Ben API

change_column :table_name, :uid, :bigint 
+0

Orijinal taşıma işlemim yukarıda belirtildiği gibi oldu, ancak bunu yürütmek işe yaradı. Teşekkürler! – neon

+0

bu benim için de işe yaradı .. Şaşırtıcı: bigint, göçmenler rehberindeki sütun türlerinden biri olarak listelenmemiş ve şu şekilde: limit => 8 yerel olarak pg için çalışmış görünüyor .. –

+0

Hmm ... I Bunu denedim ve undefined yöntemi "bigint" için # t.integer yapılarak sona erdi: alan,: limit => 8 boyutu sınırlamak yerine. – Lumbee