diff options
author | Robert Speicher <robert@gitlab.com> | 2016-04-10 05:32:33 +0300 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-04-10 05:32:33 +0300 |
commit | 4a1ef73c851d11c21dfedc2b2a72f1f5b9add16e (patch) | |
tree | f97b08a4a123c24341614b836b377c5ece26a20f | |
parent | dfe4c69ea8f7f60b43b3ab608088d289dae075d9 (diff) | |
parent | 66102e5017c2962d1fd1ffcbef09e605033643ba (diff) |
Merge branch 'fix-project-last-activity-at-migration' into 'master'
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
See merge request !3638
-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 |