Ruby on Rails迁移中的unsigned int字段?

时间:2010-11-11 16:38:22

标签: sql ruby-on-rails ruby activerecord migration

我怎样才能让人口无人签名?

  def self.up
    create_table :cities do |t|
      t.string :name
      t.integer :population
      t.float :latitude
      t.float :longitude

      t.timestamps
    end
  end

3 个答案:

答案 0 :(得分:30)

这应该适合你。

t.column :population, 'integer unsigned'

答案 1 :(得分:7)

再添一件事。这非常有效。但需要注意的是,它会使迁移代码数据库依赖。

答案 2 :(得分:2)

第1步:

将activerecord-mysql-unsigned添加到GemFile

# add unsigned integer support to mysql2 adapter
gem "activerecord-mysql-unsigned", "~> 0.0.1"

第2步: 安装宝石

bundle install

第3步:

在您喜欢的字段中使用“unsigned:true”

t.integer :cost, unsigned: true

参考:http://rubydoc.info/gems/activerecord-mysql-unsigned/0.0.1/frames