summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2015-12-17 11:09:21 +0100
committerKamil Trzcinski <ayufan@ayufan.eu>2015-12-17 11:09:59 +0100
commite136a976b6130f6e416cd7e281ae6033cc292082 (patch)
tree0f78a242c9510d69664e8994362f642c3472b0fa /db
parent8dc4c7b4c7e5bf41d3fc578115335da48476fb86 (diff)
downloadgitlab-ce-e136a976b6130f6e416cd7e281ae6033cc292082.tar.gz
Fix ci_projects migration by using the value only from latest row [ci skip]
This is needed, because for some projects we have duplicate ci_projects. This was introduced by lack of DB uniqueness on ci_projects.gitlab_id.
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20151210125930_migrate_ci_to_project.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/db/migrate/20151210125930_migrate_ci_to_project.rb b/db/migrate/20151210125930_migrate_ci_to_project.rb
index 7dfe05174ee..75278997862 100644
--- a/db/migrate/20151210125930_migrate_ci_to_project.rb
+++ b/db/migrate/20151210125930_migrate_ci_to_project.rb
@@ -26,7 +26,8 @@ class MigrateCiToProject < ActiveRecord::Migration
def migrate_project_column(column, new_column = nil)
new_column ||= column
- subquery = "SELECT ci_projects.#{column} FROM ci_projects WHERE projects.id = ci_projects.gitlab_id"
+ subquery = "SELECT ci_projects.#{column} FROM ci_projects WHERE projects.id = ci_projects.gitlab_id " \
+ 'ORDER BY ci_projects.updated_at DESC LIMIT 1'
execute("UPDATE projects SET #{new_column}=(#{subquery}) WHERE (#{subquery}) IS NOT NULL")
end