2011-08-25 19 views
6

sto ottenendo PGError: ERROR: integer out of range messaggio dal tentativo di inserire il seguente numero intero: 100001389928198.Heroku/Postgres Errore: intero fuori portata

Secondo il Postgres docs on numeric datatypes il limite è molto più alta (9223372036854775807). Ho la sensazione che Heroku tratti la colonna come un normale intero piuttosto che un BIGINT.

ho definito la migrazione come BIGINT in quanto tale:

t.column :uid, :bigint 

è questo non è corretto in termini di migrazioni Heroku?

+0

wow che è un numero grande! Per cosa lo stai usando? – ardochhigh

+0

è un facebook uid (per roba oauth) – neon

+0

Vedo. Quindi suppongo che inizieremo a utilizzare questi campi int più grandi ora. – ardochhigh

risposta

9

Non sono sicuro t.column è stessa change_column o no, ma ecco come secondo API

change_column :table_name, :uid, :bigint 
+0

la mia migrazione originale era come detto sopra, ma l'esecuzione di questo ha fatto il trucco. Grazie! – neon

+0

questo ha funzionato anche per me .. sorprendente dato che: bigint non è elencato come uno dei tipi di colonna nella guida alle migrazioni e che: limit => 8 sembrava funzionare per me su pg localmente .. –

+0

Hmm ... I provato questo e ha ottenuto l'errore undefined metodo 'bigint 'per # Finito facendo t.integer: field,: limit => 8 invece di limitare la dimensione. – Lumbee

Problemi correlati