diff options
author | Stan Hu <stanhu@gmail.com> | 2016-04-09 18:34:00 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2016-04-09 18:36:07 -0700 |
commit | 66102e5017c2962d1fd1ffcbef09e605033643ba (patch) | |
tree | f97b08a4a123c24341614b836b377c5ece26a20f /db | |
parent | dfe4c69ea8f7f60b43b3ab608088d289dae075d9 (diff) | |
download | gitlab-ce-66102e5017c2962d1fd1ffcbef09e605033643ba.tar.gz |
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
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20130403003950_add_last_activity_column_into_project.rb | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/db/migrate/20130403003950_add_last_activity_column_into_project.rb b/db/migrate/20130403003950_add_last_activity_column_into_project.rb index 2a036bd9993..85e31608d79 100644 --- a/db/migrate/20130403003950_add_last_activity_column_into_project.rb +++ b/db/migrate/20130403003950_add_last_activity_column_into_project.rb @@ -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 |