Use raw SQL instead of Rails models in 20130403003950 migration

Closes gitlab-org/gitlab-development-kit#109

Closes https://github.com/gitlabhq/gitlabhq/issues/10123
This commit is contained in:
Stan Hu 2016-04-09 18:34:00 -07:00
parent dfe4c69ea8
commit 66102e5017
1 changed files with 9 additions and 7 deletions

View File

@ -3,14 +3,16 @@ class AddLastActivityColumnIntoProject < ActiveRecord::Migration
add_column :projects, :last_activity_at, :datetime
add_index :projects, :last_activity_at
Project.find_each do |project|
last_activity_date = if project.last_activity
project.last_activity.created_at
else
project.updated_at
end
select_all('SELECT id, updated_at FROM projects').each do |project|
project_id = project['id']
update_date = project['updated_at']
event = select_one("SELECT created_at FROM events WHERE project_id = #{project_id} ORDER BY created_at DESC LIMIT 1")
project.update_attribute(:last_activity_at, last_activity_date)
if event && event['created_at']
update_date = event['created_at']
end
execute("UPDATE projects SET last_activity_at = '#{update_date}' WHERE id = #{project_id}")
end
end