2010-11-11 8 views

Respuesta

30

Esto debería funcionar para usted.

t.column :population, 'integer unsigned' 
7

Solo para añadir una cosa más. Esto funciona perfectamente Pero debe tener en cuenta que hará que la base de datos del código de migración sea dependiente.

1

paso 1:

add paso activerecord-mysql-unsigned a Gemfile

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

2: instalar gemas

bundle install 

paso 3:

uso "sin firmar: true" en los campos en el que quieres

t.integer :cost, unsigned: true 

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

+5

tener mucho cuidado con esta joya si está trabajando en un proyecto existente. ¡Esto eliminará la definición de Rails de qué debería ser una clave primaria para que no esté firmada! ver aquí -> https://github.com/waka/activerecord-mysql-unsigned/blob/v0.2.0/lib/activerecord-mysql-unsigned/active_record/v3/connection_adapters/abstract_mysql_adapter.rb#L7-L9 –