Rails迁移:PostgreSQL上的Bigint似乎失败了吗?

Lon*_*cat 18 migration postgresql activerecord ruby-on-rails bigint

尝试使用bigint列创建表会创建一个标准整数列.怎么可能出错?我不知道从哪里开始寻找.

我在迁移中使用它:

create_table :table_name do |t|
  t.integer :really_big_int, limit: 8
end
Run Code Online (Sandbox Code Playgroud)

我正在使用Ruby 1.9.2,PostgreSQL 9.0.3和Rails 3.0.9.我已经删除了数据库并多次运行迁移,但它仍然没有创建bigint列.

Chr*_*tto 23

由于某种原因,create table不喜欢bigint.但是,您可以使用bigint数据类型使用add_columm执行此操作:

add_column :table_name, :really_big_int, :bigint
Run Code Online (Sandbox Code Playgroud)

那你就不需要那些限制了.


小智 20

这适用于Rails 4

t.column :really_big_int, :bigint
Run Code Online (Sandbox Code Playgroud)


rmc*_*rry 6

Rails 5.0.0.1它的工作原理:

  def change
    create_table :huge do |t|  
      t.integer :big_bastard, limit: 8
    end
  end
Run Code Online (Sandbox Code Playgroud)


Tho*_*rin 5

在 Rails 4.2 + 中,您可以使用:

create_table :table_name do |t|
   t.bigint :really_big_int
end
Run Code Online (Sandbox Code Playgroud)