Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2016-04-10 04:34:00 +0300
committerStan Hu <stanhu@gmail.com>2016-04-10 04:36:07 +0300
commit66102e5017c2962d1fd1ffcbef09e605033643ba (patch)
treef97b08a4a123c24341614b836b377c5ece26a20f /db
parentdfe4c69ea8f7f60b43b3ab608088d289dae075d9 (diff)
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.rb16
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