Ask A Question


You’re not receiving notifications from this thread.

Using migrations to migrate data from one table into another

Shairyar Baig asked in Rails

I have two models user and account linked with each other as following

belongs_to :user

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:, xyz:

Note: Once this migration will run I will remove the column user_id in accounts table removing the relationship between the two modals.

Join the discussion
Create an account Log in

Want to stay up-to-date with Ruby on Rails?

Join 84,256+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.