summaryrefslogtreecommitdiff
path: root/db/schema.rb
diff options
context:
space:
mode:
authorLuke Duncalfe <lduncalfe@gitlab.com>2019-07-29 18:55:19 +0000
committerMayra Cabrera <mcabrera@gitlab.com>2019-07-29 18:55:19 +0000
commit177463007b1b97d29c7f4f8e279365c1ca6bfc9e (patch)
treec2aee6237ef1603e39ffc5c020bd28159b8672dd /db/schema.rb
parentfe22704a203111ab2146143a4ff9d2e1256aecc7 (diff)
downloadgitlab-ce-177463007b1b97d29c7f4f8e279365c1ca6bfc9e.tar.gz
Migrations for adding issue_id to versions table
These migrations do the following: - Adds a new `issue_id` column to `versions`. This fixes an n+1 problem when loading versions for an issue in GraphQL as AR can now load from cache - Change the unique restraint on versions.sha to be scoped to `issue_id` as in order to import version data, we need to allow duplicate `sha` values for versions - Update all versions with an `issue_id` https://gitlab.com/gitlab-org/gitlab-ee/issues/11090
Diffstat (limited to 'db/schema.rb')
-rw-r--r--db/schema.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/db/schema.rb b/db/schema.rb
index 1b5272179f5..3188ff5b229 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -1116,7 +1116,9 @@ ActiveRecord::Schema.define(version: 2019_07_25_012225) do
create_table "design_management_versions", force: :cascade do |t|
t.binary "sha", null: false
- t.index ["sha"], name: "index_design_management_versions_on_sha", unique: true
+ t.bigint "issue_id"
+ t.index ["issue_id"], name: "index_design_management_versions_on_issue_id"
+ t.index ["sha", "issue_id"], name: "index_design_management_versions_on_sha_and_issue_id", unique: true
end
create_table "draft_notes", force: :cascade do |t|
@@ -3701,6 +3703,7 @@ ActiveRecord::Schema.define(version: 2019_07_25_012225) do
add_foreign_key "design_management_designs", "projects", on_delete: :cascade
add_foreign_key "design_management_designs_versions", "design_management_designs", column: "design_id", name: "fk_03c671965c", on_delete: :cascade
add_foreign_key "design_management_designs_versions", "design_management_versions", column: "version_id", name: "fk_f4d25ba00c", on_delete: :cascade
+ add_foreign_key "design_management_versions", "issues", on_delete: :cascade
add_foreign_key "draft_notes", "merge_requests", on_delete: :cascade
add_foreign_key "draft_notes", "users", column: "author_id", on_delete: :cascade
add_foreign_key "elasticsearch_indexed_namespaces", "namespaces", on_delete: :cascade