summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorJohn Cai <jcai@gitlab.com>2019-06-04 12:07:10 -0700
committerJohn Cai <jcai@gitlab.com>2019-06-11 09:00:04 -0700
commit5c828f39d8074c9f91e9034ddac860834fbc7177 (patch)
treefcacc536e216463944a02d22c4a096bb4de595fc /db
parent2e1c7573d5b5c0ffc521e8c622ac99a77b7c5007 (diff)
downloadgitlab-ce-5c828f39d8074c9f91e9034ddac860834fbc7177.tar.gz
Fix null source_project_id in pool_repositoriesjc-migration-for-source-project-id
Due to a bug, some pool_repositories in production have a null source_project_id column. This migration aims to fix those rows.
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20190604184643_fix_pool_repository_source_project_id.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/db/migrate/20190604184643_fix_pool_repository_source_project_id.rb b/db/migrate/20190604184643_fix_pool_repository_source_project_id.rb
new file mode 100644
index 00000000000..30244760e6b
--- /dev/null
+++ b/db/migrate/20190604184643_fix_pool_repository_source_project_id.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+# See http://doc.gitlab.com/ce/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class FixPoolRepositorySourceProjectId < ActiveRecord::Migration[5.1]
+ include Gitlab::Database::MigrationHelpers
+
+ # Set this constant to true if this migration requires downtime.
+ DOWNTIME = false
+
+ def up
+ execute "UPDATE pool_repositories SET source_project_id = (SELECT MIN(id) FROM projects WHERE pool_repository_id = pool_repositories.id) WHERE pool_repositories.source_project_id IS NULL"
+ end
+
+ def down
+ # nothing to do her
+ end
+end