summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Brandl <abrandl@gitlab.com>2019-09-10 11:52:49 +0000
committer🤖 GitLab Bot 🤖 <gitlab-bot@gitlab.com>2019-09-10 12:04:41 +0000
commit2aafa8738ff457e1f15cb3187332a4008bd012ae (patch)
tree878b1523cd4836ef31939c640aecccbaa862f673
parent20c7c123f5cbf1a358e4560baa2a0d74f69d1c29 (diff)
downloadgitlab-ce-2aafa8738ff457e1f15cb3187332a4008bd012ae.tar.gz
Merge branch 'fix-events-migration' into 'master'12-3-auto-deploy-20190908
Add index on group_id column concurrently See merge request gitlab-org/gitlab-ce!32826 (cherry picked from commit 5975f55c555330423aab49e7e0d2da2049a39200) d2fffeb8 Add index on group_id column concurrently 899fdfca Ship non-partial index for now f43868e1 Swap index/FK order
-rw-r--r--db/migrate/20190826100605_add_group_column_to_events.rb14
-rw-r--r--db/schema.rb2
2 files changed, 13 insertions, 3 deletions
diff --git a/db/migrate/20190826100605_add_group_column_to_events.rb b/db/migrate/20190826100605_add_group_column_to_events.rb
index cd7b2b1d96a..dfc9d8cbdf1 100644
--- a/db/migrate/20190826100605_add_group_column_to_events.rb
+++ b/db/migrate/20190826100605_add_group_column_to_events.rb
@@ -1,9 +1,19 @@
# frozen_string_literal: true
class AddGroupColumnToEvents < ActiveRecord::Migration[5.2]
+ include Gitlab::Database::MigrationHelpers
+
DOWNTIME = false
- def change
- add_reference :events, :group, index: true, foreign_key: { to_table: :namespaces, on_delete: :cascade }
+ disable_ddl_transaction!
+
+ def up
+ add_column(:events, :group_id, :bigint) unless column_exists?(:events, :group_id)
+ add_concurrent_index(:events, :group_id)
+ add_concurrent_foreign_key(:events, :namespaces, column: :group_id, on_delete: :cascade)
+ end
+
+ def down
+ remove_column(:events, :group_id) if column_exists?(:events, :group_id)
end
end
diff --git a/db/schema.rb b/db/schema.rb
index 6ddfb8bcb39..70f3a42e7f8 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -3864,7 +3864,7 @@ ActiveRecord::Schema.define(version: 2019_09_05_223900) do
add_foreign_key "epics", "users", column: "assignee_id", name: "fk_dccd3f98fc", on_delete: :nullify
add_foreign_key "epics", "users", column: "author_id", name: "fk_3654b61b03", on_delete: :cascade
add_foreign_key "epics", "users", column: "closed_by_id", name: "fk_aa5798e761", on_delete: :nullify
- add_foreign_key "events", "namespaces", column: "group_id", on_delete: :cascade
+ add_foreign_key "events", "namespaces", column: "group_id", name: "fk_61fbf6ca48", on_delete: :cascade
add_foreign_key "events", "projects", on_delete: :cascade
add_foreign_key "events", "users", column: "author_id", name: "fk_edfd187b6f", on_delete: :cascade
add_foreign_key "external_pull_requests", "projects", on_delete: :cascade