Skip to content

Commit a7a524d

Browse files
author
Andreas Brandl
committed
Merge branch 'revert-4ff91723' into 'master'
Revert "Merge branch 'revert-drop-gcp-clusters-table' into 'master'" See merge request gitlab-org/gitlab-ce!23020
2 parents 7674a8f + a7192e2 commit a7a524d

File tree

4 files changed

+95
-32
lines changed

4 files changed

+95
-32
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: Drop gcp_clusters table
3+
merge_request: 22713
4+
author:
5+
type: other
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# frozen_string_literal: true
2+
3+
class DropFkGcpClustersTable < ActiveRecord::Migration
4+
include Gitlab::Database::MigrationHelpers
5+
6+
DOWNTIME = false
7+
8+
disable_ddl_transaction!
9+
10+
def up
11+
remove_foreign_key_if_exists :gcp_clusters, column: :project_id
12+
remove_foreign_key_if_exists :gcp_clusters, column: :user_id
13+
remove_foreign_key_if_exists :gcp_clusters, column: :service_id
14+
end
15+
16+
def down
17+
add_foreign_key_if_not_exists :gcp_clusters, :projects, column: :project_id, on_delete: :cascade
18+
add_foreign_key_if_not_exists :gcp_clusters, :users, column: :user_id, on_delete: :nullify
19+
add_foreign_key_if_not_exists :gcp_clusters, :services, column: :service_id, on_delete: :nullify
20+
end
21+
22+
private
23+
24+
def add_foreign_key_if_not_exists(source, target, column:, on_delete:)
25+
return unless table_exists?(source)
26+
return if foreign_key_exists?(source, target, column: column)
27+
28+
add_concurrent_foreign_key(source, target, column: column, on_delete: on_delete)
29+
end
30+
31+
def remove_foreign_key_if_exists(table, column:)
32+
return unless table_exists?(table)
33+
return unless foreign_key_exists?(table, column: column)
34+
35+
remove_foreign_key(table, column: column)
36+
end
37+
end
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# frozen_string_literal: true
2+
3+
class DropGcpClustersTable < ActiveRecord::Migration
4+
include Gitlab::Database::MigrationHelpers
5+
6+
DOWNTIME = false
7+
8+
def up
9+
drop_table :gcp_clusters
10+
end
11+
12+
def down
13+
create_table :gcp_clusters do |t|
14+
# Order columns by best align scheme
15+
t.references :project, null: false, index: { unique: true }, foreign_key: { on_delete: :cascade }
16+
t.references :user, foreign_key: { on_delete: :nullify }
17+
t.references :service, foreign_key: { on_delete: :nullify }
18+
t.integer :status
19+
t.integer :gcp_cluster_size, null: false
20+
21+
# Timestamps
22+
t.datetime_with_timezone :created_at, null: false
23+
t.datetime_with_timezone :updated_at, null: false
24+
25+
# Enable/disable
26+
t.boolean :enabled, default: true
27+
28+
# General
29+
t.text :status_reason
30+
31+
# k8s integration specific
32+
t.string :project_namespace
33+
34+
# Cluster details
35+
t.string :endpoint
36+
t.text :ca_cert
37+
t.text :encrypted_kubernetes_token
38+
t.string :encrypted_kubernetes_token_iv
39+
t.string :username
40+
t.text :encrypted_password
41+
t.string :encrypted_password_iv
42+
43+
# GKE
44+
t.string :gcp_project_id, null: false
45+
t.string :gcp_cluster_zone, null: false
46+
t.string :gcp_cluster_name, null: false
47+
t.string :gcp_machine_type
48+
t.string :gcp_operation_id
49+
t.text :encrypted_gcp_token
50+
t.string :encrypted_gcp_token_iv
51+
end
52+
end
53+
end

db/schema.rb

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -936,35 +936,6 @@
936936

937937
add_index "forked_project_links", ["forked_to_project_id"], name: "index_forked_project_links_on_forked_to_project_id", unique: true, using: :btree
938938

939-
create_table "gcp_clusters", force: :cascade do |t|
940-
t.integer "project_id", null: false
941-
t.integer "user_id"
942-
t.integer "service_id"
943-
t.integer "status"
944-
t.integer "gcp_cluster_size", null: false
945-
t.datetime_with_timezone "created_at", null: false
946-
t.datetime_with_timezone "updated_at", null: false
947-
t.boolean "enabled", default: true
948-
t.text "status_reason"
949-
t.string "project_namespace"
950-
t.string "endpoint"
951-
t.text "ca_cert"
952-
t.text "encrypted_kubernetes_token"
953-
t.string "encrypted_kubernetes_token_iv"
954-
t.string "username"
955-
t.text "encrypted_password"
956-
t.string "encrypted_password_iv"
957-
t.string "gcp_project_id", null: false
958-
t.string "gcp_cluster_zone", null: false
959-
t.string "gcp_cluster_name", null: false
960-
t.string "gcp_machine_type"
961-
t.string "gcp_operation_id"
962-
t.text "encrypted_gcp_token"
963-
t.string "encrypted_gcp_token_iv"
964-
end
965-
966-
add_index "gcp_clusters", ["project_id"], name: "index_gcp_clusters_on_project_id", unique: true, using: :btree
967-
968939
create_table "gpg_key_subkeys", force: :cascade do |t|
969940
t.integer "gpg_key_id", null: false
970941
t.binary "keyid"
@@ -2450,9 +2421,6 @@
24502421
add_foreign_key "fork_network_members", "projects", on_delete: :cascade
24512422
add_foreign_key "fork_networks", "projects", column: "root_project_id", name: "fk_e7b436b2b5", on_delete: :nullify
24522423
add_foreign_key "forked_project_links", "projects", column: "forked_to_project_id", name: "fk_434510edb0", on_delete: :cascade
2453-
add_foreign_key "gcp_clusters", "projects", on_delete: :cascade
2454-
add_foreign_key "gcp_clusters", "services", on_delete: :nullify
2455-
add_foreign_key "gcp_clusters", "users", on_delete: :nullify
24562424
add_foreign_key "gpg_key_subkeys", "gpg_keys", on_delete: :cascade
24572425
add_foreign_key "gpg_keys", "users", on_delete: :cascade
24582426
add_foreign_key "gpg_signatures", "gpg_key_subkeys", on_delete: :nullify

0 commit comments

Comments
 (0)