我正在尝试在我的数据库中获取一个列,以使用bigint作为类型。
我已经尝试了几种已经包含这些的组合而没有运气:
add_column :my_table, :my_field, :bigint
add_column :my_table, :my_field, :bigint, limit: 8
add_column :my_table, :my_field, :integer, limit: 8
我认为问题的一部分是,这不仅仅是将数据库列的Rails迁移变为bigint,而且还需要与PostGres一起使用。
答案 0 :(得分:1)
我认为有几种方法可以做到这一点:
<强> 1。使用整数类型的限制为8。
create_table 'example' do |t|
t.integer :my_field, :limit => 8
end
有关使用限制在Rails中设置整数大小的更多信息,请参阅this page。
<强> 2。使用带有bigint类型的t.column
由于某种原因,创建表并不像bigint。但是,您可以使用bigint数据类型使用add_columm执行此操作:
add_column :table_name, :really_big_int, :bigint
在带有pg
gem的Rails 4中,这有效:
class CreateDemo < ActiveRecord::Migration
def self.up
create_table :my_table do |t|
t.column :my_field, :bigint
end
end
end
有关详细信息,请参阅this answer。
这个答案假定您在Rails项目中使用pg
gem,并且您已经在开发环境中创建并访问了postgres数据库(在app/config/database.yml
中指定) )。