From e136a976b6130f6e416cd7e281ae6033cc292082 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Thu, 17 Dec 2015 11:09:21 +0100 Subject: [PATCH] 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. --- db/migrate/20151210125930_migrate_ci_to_project.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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