Unsigned int в миграции Ruby on Rails?

Как я могу сделать население без знака?

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

      t.timestamps
    end
  end

Ответ 1

Это должно сработать для вас.

t.column :population, 'integer unsigned'

Ответ 2

Просто добавь еще одну вещь. Это прекрасно работает. Но нужно отметить, что это сделает базу данных кода миграции зависимой.

Ответ 3

шаг 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

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