Using migrations to migrate data from one table into another
I have two models user and account linked with each other as following
account.rb
belongs_to :user
user.rb
has_many :accounts
I want to move the data from column name
in users
table into column name
in accounts
table
I think the following should do the job but my question is if there is a better way of doing this inside a migration file considering if there are thousands of records?
Account.find_each do |account|
if account.user.present?
account.update_columns(name: account.user.name, xyz: account.user.xyz)
end
end
Note: Once this migration will run I will remove the column user_id
in accounts
table removing the relationship between the two modals.