Автоинкремент поля не первичного ключа в Ruby on Rails - PullRequest
9 голосов
/ 10 июля 2010

Как при миграции RoR автоматически увеличивать поле без первичного ключа?Я хотел бы сделать это в определении БД, а не в модели.

1 Ответ

9 голосов
/ 10 июля 2010

Вам необходимо выполнить инструкцию SQL.

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

вы можете ввести вручную в вашей миграции

Обратите внимание, что это только пример. Окончательный синтаксис оператора SQL зависит от базы данных.

...