尝试使用 bigint 列创建表会改为创建标准整数列。可能出了什么问题?我不知道从哪里开始寻找。
我在迁移中使用它:
create_table :table_name do |t|
t.integer :really_big_int, limit: 8
end
我正在使用 Ruby 1.9.2、PostgreSQL 9.0.3 和 Rails 3.0.9。我已经删除了数据库并运行了几次迁移,但它仍然没有创建 bigint 列。
尝试使用 bigint 列创建表会改为创建标准整数列。可能出了什么问题?我不知道从哪里开始寻找。
我在迁移中使用它:
create_table :table_name do |t|
t.integer :really_big_int, limit: 8
end
我正在使用 Ruby 1.9.2、PostgreSQL 9.0.3 和 Rails 3.0.9。我已经删除了数据库并运行了几次迁移,但它仍然没有创建 bigint 列。
由于某种原因,创建表不喜欢 bigint。但是,您可以使用 bigint 数据类型使用 add_columm 来执行此操作:
add_column :table_name, :really_big_int, :bigint
那么你就不需要那些限制的东西了。
这适用于 Rails 4
t.column :really_big_int, :bigint
Rails 5.0.0.1 它的工作原理:
def change
create_table :huge do |t|
t.integer :big_bastard, limit: 8
end
end
在 rails 4.2 + 你可以使用如下:
create_table :table_name do |t|
t.bigint :really_big_int
end
我能够使用t.column
. 如果您想控制表中的列顺序,这很有用。
create_table :table_name do |t|
t.string :other_column
t.column :really_big_int, :bigint
.
.
t.timestamps
end
我正在使用带有 pg gem 版本 0.15.1 (x86-mingw32) 的 Rails 3.2.12。