type rails column change ruby-on-rails postgresql activerecord migration bigint

ruby on rails - column - Migración de Rails: Bigint en PostgreSQL parece estar fallando?



rails 3 migration change column type (5)

Carriles 5.0.0.1 funciona:

def change create_table :huge do |t| t.integer :big_bastard, limit: 8 end end

Intentar crear una tabla con una columna bigint crea una columna de entero estándar en su lugar. ¿Qué podría estar yendo mal? No sé por dónde empezar a buscar.

Estoy usando esto en la migración:

create_table :table_name do |t| t.integer :really_big_int, limit: 8 end

Estoy usando Ruby 1.9.2, PostgreSQL 9.0.3 y Rails 3.0.9. Solté la base de datos y ejecuté las migraciones varias veces y todavía no crea la columna Bigint.


En los carriles 4.2 + se puede utilizar como:

create_table :table_name do |t| t.bigint :really_big_int end


Esto funciona en Rails 4.

t.column :really_big_int, :bigint


Por alguna razón, a la tabla de creación no le gusta bigint. Sin embargo, puede hacerlo con add_columm usando el tipo de datos bigint:

add_column :table_name, :really_big_int, :bigint

Entonces no necesitas ese límite.


Pude crear un bigint usando t.column . Esto es útil si desea controlar el orden de las columnas en la tabla.

create_table :table_name do |t| t.string :other_column t.column :really_big_int, :bigint . . t.timestamps end

Estoy usando Rails 3.2.12 con pg gem versión 0.15.1 (x86-mingw32).