Files
old-holivud2/db/migrate/20190204063948_add_account_to_projects.rb
2020-05-31 22:38:19 +02:00

43 lines
866 B
Ruby

class AddAccountToProjects < ActiveRecord::Migration[5.2]
def up
add_reference :projects, :account, foreign_key: true
migrate_data_up
remove_reference :projects, :user
end
def down
add_reference :projects, :user, foreign_key: true
migrate_data_down
remove_reference :projects, :account
end
private
class Project < ActiveRecord::Base
belongs_to :account
belongs_to :user
end
def migrate_data_up
say "Setting Project#account.."
Project.reset_column_information
Project.find_each do |project|
project.update!(account: project.user.account)
end
say "Done."
end
def migrate_data_down
say "Setting Project#user.."
Project.reset_column_information
Project.find_each do |project|
project.update!(user: project.account.users.first)
end
say "Done."
end
end