Respuesta

9

Debe ejecutar una instrucción SQL.

statement = "ALTER TABLE `users` CHANGE `id` `id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT" 
ActiveRecord::Base.connection.execute(statement) 

puedas entrada manualmente en su migración

en cuenta esto es sólo un ejemplo. La sintaxis de la declaración final de SQL depende de la base de datos.

+1

¿Estoy en lo cierto al suponer por su respuesta que Rails no proporciona una forma de hacer esto sin la ejecución directa de una instrucción SQL? Esperaría algo como: 't.integer: auto_i,: auto_increment => true' para funcionar (pero no es así). – kingjeffrey

+3

yes Rails no proporciona: palabra clave auto_increment en migraciones – user386660

+0

Y si quiere todas las palabras clave u otras cosas buenas en Rails, entonces. "IDE de rubymine para ROR" sería tan útil. Estoy usando durante los últimos 6 meses. – user386660