diff options
5 files changed, 66 insertions, 1 deletions
diff --git a/changelogs/unreleased/52494-add-environment-id-to-clusters-kubernetes-namespaces.yml b/changelogs/unreleased/52494-add-environment-id-to-clusters-kubernetes-namespaces.yml new file mode 100644 index 00000000000..c819bad43c4 --- /dev/null +++ b/changelogs/unreleased/52494-add-environment-id-to-clusters-kubernetes-namespaces.yml @@ -0,0 +1,5 @@ +--- +title: Add environment_id to clusters_kubernetes_namespaces +merge_request: 29038 +author: +type: other diff --git a/db/migrate/20190531191040_add_environment_id_to_clusters_kubernetes_namespaces.rb b/db/migrate/20190531191040_add_environment_id_to_clusters_kubernetes_namespaces.rb new file mode 100644 index 00000000000..c530225c9bc --- /dev/null +++ b/db/migrate/20190531191040_add_environment_id_to_clusters_kubernetes_namespaces.rb @@ -0,0 +1,15 @@ +# 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 AddEnvironmentIdToClustersKubernetesNamespaces < ActiveRecord::Migration[5.1] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def change + add_reference :clusters_kubernetes_namespaces, :environment, + index: true, type: :integer, foreign_key: { on_delete: :cascade } + end +end diff --git a/db/migrate/20190531191129_index_clusters_kubernetes_namespaces_on_cluster_id_and_environment_id.rb b/db/migrate/20190531191129_index_clusters_kubernetes_namespaces_on_cluster_id_and_environment_id.rb new file mode 100644 index 00000000000..90643ece871 --- /dev/null +++ b/db/migrate/20190531191129_index_clusters_kubernetes_namespaces_on_cluster_id_and_environment_id.rb @@ -0,0 +1,22 @@ +# 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 IndexClustersKubernetesNamespacesOnClusterIdAndEnvironmentId < ActiveRecord::Migration[5.1] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + INDEX_NAME = 'index_clusters_kubernetes_namespaces_on_cluster_and_environment' + + disable_ddl_transaction! + + def up + add_concurrent_index :clusters_kubernetes_namespaces, [:cluster_id, :environment_id], + unique: true, name: INDEX_NAME + end + + def down + remove_concurrent_index :clusters_kubernetes_namespaces, name: INDEX_NAME + end +end diff --git a/db/migrate/20190531191429_remove_redundant_clusters_kubernetes_namespaces_index.rb b/db/migrate/20190531191429_remove_redundant_clusters_kubernetes_namespaces_index.rb new file mode 100644 index 00000000000..60410d840b4 --- /dev/null +++ b/db/migrate/20190531191429_remove_redundant_clusters_kubernetes_namespaces_index.rb @@ -0,0 +1,20 @@ +# 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 RemoveRedundantClustersKubernetesNamespacesIndex < ActiveRecord::Migration[5.1] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + remove_concurrent_index :clusters_kubernetes_namespaces, :cluster_id + end + + def down + add_concurrent_index :clusters_kubernetes_namespaces, :cluster_id + end +end diff --git a/db/schema.rb b/db/schema.rb index 1755730bb72..63ffff00df8 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -794,9 +794,11 @@ ActiveRecord::Schema.define(version: 20190611161641) do t.string "encrypted_service_account_token_iv" t.string "namespace", null: false t.string "service_account_name" + t.integer "environment_id" + t.index ["cluster_id", "environment_id"], name: "index_clusters_kubernetes_namespaces_on_cluster_and_environment", unique: true, using: :btree t.index ["cluster_id", "namespace"], name: "kubernetes_namespaces_cluster_and_namespace", unique: true, using: :btree - t.index ["cluster_id"], name: "index_clusters_kubernetes_namespaces_on_cluster_id", using: :btree t.index ["cluster_project_id"], name: "index_clusters_kubernetes_namespaces_on_cluster_project_id", using: :btree + t.index ["environment_id"], name: "index_clusters_kubernetes_namespaces_on_environment_id", using: :btree t.index ["project_id"], name: "index_clusters_kubernetes_namespaces_on_project_id", using: :btree end @@ -2509,6 +2511,7 @@ ActiveRecord::Schema.define(version: 20190611161641) do add_foreign_key "clusters_applications_runners", "clusters", on_delete: :cascade add_foreign_key "clusters_kubernetes_namespaces", "cluster_projects", on_delete: :nullify add_foreign_key "clusters_kubernetes_namespaces", "clusters", on_delete: :cascade + add_foreign_key "clusters_kubernetes_namespaces", "environments", on_delete: :cascade add_foreign_key "clusters_kubernetes_namespaces", "projects", on_delete: :nullify add_foreign_key "container_repositories", "projects" add_foreign_key "deploy_keys_projects", "projects", name: "fk_58a901ca7e", on_delete: :cascade |