From e9657acfc3433ea98a48d90312160e2e9cc8b173 Mon Sep 17 00:00:00 2001 From: Mayra Cabrera Date: Fri, 2 Mar 2018 09:42:08 -0600 Subject: Ensure foreign keys on Clusters Applications Closes #43802 --- ...ensure_foreign_keys_on_clusters_applications.rb | 34 ++++++++++++++++++++++ db/schema.rb | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 db/migrate/20180302152117_ensure_foreign_keys_on_clusters_applications.rb (limited to 'db') diff --git a/db/migrate/20180302152117_ensure_foreign_keys_on_clusters_applications.rb b/db/migrate/20180302152117_ensure_foreign_keys_on_clusters_applications.rb new file mode 100644 index 00000000000..4c2c242c01a --- /dev/null +++ b/db/migrate/20180302152117_ensure_foreign_keys_on_clusters_applications.rb @@ -0,0 +1,34 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class EnsureForeignKeysOnClustersApplications < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + unless foreign_keys_for(:clusters_applications_ingress, :cluster_id).any? + add_concurrent_foreign_key :clusters_applications_ingress, :clusters, + column: :cluster_id, + on_delete: :cascade + end + + unless foreign_keys_for(:clusters_applications_prometheus, :cluster_id).any? + add_concurrent_foreign_key :clusters_applications_prometheus, :clusters, + column: :cluster_id, + on_delete: :cascade + end + end + + def down + if foreign_keys_for(:clusters_applications_ingress, :cluster_id).any? + remove_foreign_key :clusters_applications_ingress, column: :cluster_id + end + + if foreign_keys_for(:clusters_applications_prometheus, :cluster_id).any? + remove_foreign_key :clusters_applications_prometheus, column: :cluster_id + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 387b15f8f30..c5b3b21c55e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -2028,6 +2028,8 @@ ActiveRecord::Schema.define(version: 20180307012445) do add_foreign_key "cluster_providers_gcp", "clusters", on_delete: :cascade add_foreign_key "clusters", "users", on_delete: :nullify add_foreign_key "clusters_applications_helm", "clusters", on_delete: :cascade + add_foreign_key "clusters_applications_ingress", "clusters", on_delete: :cascade + add_foreign_key "clusters_applications_prometheus", "clusters", on_delete: :cascade add_foreign_key "clusters_applications_runners", "ci_runners", column: "runner_id", name: "fk_02de2ded36", on_delete: :nullify add_foreign_key "clusters_applications_runners", "clusters", on_delete: :cascade add_foreign_key "container_repositories", "projects" -- cgit v1.2.1