From 7351a484d79236b7e9d47c86f2fcc970b7ae10b0 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 10 Feb 2020 12:08:59 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../20191031095636_create_project_settings.rb | 12 +++++++++ .../20200207151640_create_deployment_clusters.rb | 16 ++++++++++++ .../20200122123016_backfill_project_settings.rb | 29 ++++++++++++++++++++++ db/schema.rb | 19 ++++++++++++-- 4 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20191031095636_create_project_settings.rb create mode 100644 db/migrate/20200207151640_create_deployment_clusters.rb create mode 100644 db/post_migrate/20200122123016_backfill_project_settings.rb (limited to 'db') diff --git a/db/migrate/20191031095636_create_project_settings.rb b/db/migrate/20191031095636_create_project_settings.rb new file mode 100644 index 00000000000..0263eceb3c1 --- /dev/null +++ b/db/migrate/20191031095636_create_project_settings.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +class CreateProjectSettings < ActiveRecord::Migration[5.2] + DOWNTIME = false + + def change + create_table :project_settings, id: false do |t| + t.timestamps_with_timezone null: false + t.references :project, primary_key: true, default: nil, type: :integer, index: false, foreign_key: { on_delete: :cascade } + end + end +end diff --git a/db/migrate/20200207151640_create_deployment_clusters.rb b/db/migrate/20200207151640_create_deployment_clusters.rb new file mode 100644 index 00000000000..233e91d31b0 --- /dev/null +++ b/db/migrate/20200207151640_create_deployment_clusters.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +class CreateDeploymentClusters < ActiveRecord::Migration[6.0] + DOWNTIME = false + + def change + create_table :deployment_clusters, id: false, force: :cascade do |t| + t.references :deployment, foreign_key: { on_delete: :cascade }, primary_key: true, type: :integer, index: false, default: nil + t.references :cluster, foreign_key: { on_delete: :cascade }, type: :integer, index: false, null: false + t.string :kubernetes_namespace, limit: 255 + + t.index [:cluster_id, :kubernetes_namespace], name: 'idx_deployment_clusters_on_cluster_id_and_kubernetes_namespace' + t.index [:cluster_id, :deployment_id], unique: true + end + end +end diff --git a/db/post_migrate/20200122123016_backfill_project_settings.rb b/db/post_migrate/20200122123016_backfill_project_settings.rb new file mode 100644 index 00000000000..80ca79e979e --- /dev/null +++ b/db/post_migrate/20200122123016_backfill_project_settings.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +class BackfillProjectSettings < ActiveRecord::Migration[5.2] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + MIGRATION = 'BackfillProjectSettings' + DELAY_INTERVAL = 2.minutes + BATCH_SIZE = 10_000 + + disable_ddl_transaction! + + class Project < ActiveRecord::Base + include EachBatch + + self.table_name = 'projects' + end + + def up + say "Scheduling `#{MIGRATION}` jobs" + + queue_background_migration_jobs_by_range_at_intervals(Project, MIGRATION, DELAY_INTERVAL, batch_size: BATCH_SIZE) + end + + def down + # NOOP + end +end diff --git a/db/schema.rb b/db/schema.rb index a432e449951..824554e41bb 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2020_02_06_111847) do +ActiveRecord::Schema.define(version: 2020_02_07_151640) do # These are extensions that must be enabled in order to support this database enable_extension "pg_trgm" @@ -1341,6 +1341,13 @@ ActiveRecord::Schema.define(version: 2020_02_06_111847) do t.index ["token_encrypted"], name: "index_deploy_tokens_on_token_encrypted", unique: true end + create_table "deployment_clusters", primary_key: "deployment_id", id: :integer, default: nil, force: :cascade do |t| + t.integer "cluster_id", null: false + t.string "kubernetes_namespace", limit: 255 + t.index ["cluster_id", "deployment_id"], name: "index_deployment_clusters_on_cluster_id_and_deployment_id", unique: true + t.index ["cluster_id", "kubernetes_namespace"], name: "idx_deployment_clusters_on_cluster_id_and_kubernetes_namespace" + end + create_table "deployment_merge_requests", id: false, force: :cascade do |t| t.integer "deployment_id", null: false t.integer "merge_request_id", null: false @@ -3296,6 +3303,11 @@ ActiveRecord::Schema.define(version: 2020_02_06_111847) do t.index ["project_id"], name: "index_project_repository_states_on_project_id", unique: true end + create_table "project_settings", primary_key: "project_id", id: :integer, default: nil, force: :cascade do |t| + t.datetime_with_timezone "created_at", null: false + t.datetime_with_timezone "updated_at", null: false + end + create_table "project_statistics", id: :serial, force: :cascade do |t| t.integer "project_id", null: false t.integer "namespace_id", null: false @@ -3745,7 +3757,7 @@ ActiveRecord::Schema.define(version: 2020_02_06_111847) do t.string "sso_url", null: false t.boolean "enforced_sso", default: false, null: false t.boolean "enforced_group_managed_accounts", default: false, null: false - t.boolean "prohibited_outer_forks", default: false, null: false + t.boolean "prohibited_outer_forks", default: false t.index ["group_id"], name: "index_saml_providers_on_group_id" end @@ -4659,6 +4671,8 @@ ActiveRecord::Schema.define(version: 2020_02_06_111847) do add_foreign_key "dependency_proxy_blobs", "namespaces", column: "group_id", on_delete: :cascade add_foreign_key "dependency_proxy_group_settings", "namespaces", column: "group_id", on_delete: :cascade add_foreign_key "deploy_keys_projects", "projects", name: "fk_58a901ca7e", on_delete: :cascade + add_foreign_key "deployment_clusters", "clusters", on_delete: :cascade + add_foreign_key "deployment_clusters", "deployments", on_delete: :cascade add_foreign_key "deployment_merge_requests", "deployments", on_delete: :cascade add_foreign_key "deployment_merge_requests", "merge_requests", on_delete: :cascade add_foreign_key "deployments", "clusters", name: "fk_289bba3222", on_delete: :nullify @@ -4881,6 +4895,7 @@ ActiveRecord::Schema.define(version: 2020_02_06_111847) do add_foreign_key "project_repositories", "projects", on_delete: :cascade add_foreign_key "project_repositories", "shards", on_delete: :restrict add_foreign_key "project_repository_states", "projects", on_delete: :cascade + add_foreign_key "project_settings", "projects", on_delete: :cascade add_foreign_key "project_statistics", "projects", on_delete: :cascade add_foreign_key "project_tracing_settings", "projects", on_delete: :cascade add_foreign_key "projects", "pool_repositories", name: "fk_6e5c14658a", on_delete: :nullify -- cgit v1.2.3