问题
In a RoR migration, how do I auto increment a non-primary-key field? I'd like to do this in the db definition, and not in the model.
回答1:
You need to execute an SQL statement.
statement = "ALTER TABLE `users` CHANGE `id` `id` SMALLINT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT"
ActiveRecord::Base.connection.execute(statement)
you can entry manually in your migration
Note this is just an example. The final SQL statement syntax depends on the database.
来源:https://stackoverflow.com/questions/3220473/auto-increment-a-non-primary-key-field-in-ruby-on-rails