В миграции RoR, как делают меня автоматический инкремент поле непервичного ключа? Я хотел бы сделать это в определении дб, а не в модели.
Вам нужно выполнить SQL-оператор.
statement = "ALTER TABLE `users` CHANGE `id` `id` SMALLINT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT"
ActiveRecord::Base.connection.execute(statement)
вы можете ввести вручную в миграции
Обратите внимание, что это всего лишь пример. Окончательный синтаксис SQL-оператора зависит от базы данных.