Насколько я понимаю, вы хотите обновлять пользовательские записи, а не создавать начальное число (начальное число добавляет данные в вашу базу данных, например, роли и т. Д., Которые важны для вашего приложения). С документация :
class AddReceiveNewsletterToUsers < ActiveRecord::Migration
def self.up
change_table :users do |t|
t.boolean :receive_newsletter, :default => false
end
User.update_all ["receive_newsletter = ?", true]
end
def self.down
remove_column :users, :receive_newsletter
end
end
Вы также можете использовать свои модели внутри миграции:
User.all(:conditions => {}).each do |user|
user.do_sth
user.save
end
и т. Д., Прочитайте о предостережениях
Edit:
После вашего комментария я думаю, что вы должны сделать это при миграции;
class AddInvitationLimitToUser < ActiveRecord::Migration
def selt.up
change_table :users do |t|
t.integer :invitation_limit # and add validation to model `validates_presence_of` and so on
end
# now update all records already in database, which didn't had value in invitation_limit column
User.update_all ["invitation_limit = ?", 5]
end
def self.down
remove_column, :users, :invitation_limit
end
end