summaryrefslogtreecommitdiff
path: root/db/post_migrate/20170526185842_migrate_pipeline_stages.rb
diff options
context:
space:
mode:
Diffstat (limited to 'db/post_migrate/20170526185842_migrate_pipeline_stages.rb')
-rw-r--r--db/post_migrate/20170526185842_migrate_pipeline_stages.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/db/post_migrate/20170526185842_migrate_pipeline_stages.rb b/db/post_migrate/20170526185842_migrate_pipeline_stages.rb
index 37ccf9fc105..afd4db183c2 100644
--- a/db/post_migrate/20170526185842_migrate_pipeline_stages.rb
+++ b/db/post_migrate/20170526185842_migrate_pipeline_stages.rb
@@ -11,7 +11,10 @@ class MigratePipelineStages < ActiveRecord::Migration
execute <<-SQL.strip_heredoc
INSERT INTO ci_stages (project_id, pipeline_id, name)
SELECT project_id, commit_id, stage FROM ci_builds
- WHERE stage IS NOT NULL AND stage_id IS NULL
+ WHERE stage IS NOT NULL
+ AND stage_id IS NULL
+ AND EXISTS (SELECT 1 FROM projects WHERE projects.id = ci_builds.project_id)
+ AND EXISTS (SELECT 1 FROM ci_pipelines WHERE ci_pipelines.id = ci_builds.commit_id)
GROUP BY project_id, commit_id, stage
ORDER BY MAX(stage_idx)
SQL