From f19b6ef351d2ae8d22dc8dd669393224ca42bc26 Mon Sep 17 00:00:00 2001 From: Andreas Brandl Date: Thu, 1 Nov 2018 15:48:13 +0100 Subject: Add index to find stuck merge requests. See https://gitlab.com/gitlab-org/gitlab-ce/issues/45608#note_113803790 for query and plan. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/45608. --- .../20181101144347_add_index_for_stuck_mr_query.rb | 16 ++++++++++++++++ db/schema.rb | 3 ++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20181101144347_add_index_for_stuck_mr_query.rb (limited to 'db') diff --git a/db/migrate/20181101144347_add_index_for_stuck_mr_query.rb b/db/migrate/20181101144347_add_index_for_stuck_mr_query.rb new file mode 100644 index 00000000000..5d3ace54e5c --- /dev/null +++ b/db/migrate/20181101144347_add_index_for_stuck_mr_query.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true +class AddIndexForStuckMrQuery < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_concurrent_index :merge_requests, [:id, :merge_jid], where: "merge_jid IS NOT NULL and state = 'locked'" + end + + def down + remove_concurrent_index :merge_requests, [:id, :merge_jid], where: "merge_jid IS NOT NULL and state = 'locked'" + end +end diff --git a/db/schema.rb b/db/schema.rb index 22474916034..1a8b556228d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20181031190559) do +ActiveRecord::Schema.define(version: 20181101144347) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -1294,6 +1294,7 @@ ActiveRecord::Schema.define(version: 20181031190559) do add_index "merge_requests", ["created_at"], name: "index_merge_requests_on_created_at", using: :btree add_index "merge_requests", ["description"], name: "index_merge_requests_on_description_trigram", using: :gin, opclasses: {"description"=>"gin_trgm_ops"} add_index "merge_requests", ["head_pipeline_id"], name: "index_merge_requests_on_head_pipeline_id", using: :btree + add_index "merge_requests", ["id", "merge_jid"], name: "index_merge_requests_on_id_and_merge_jid", where: "((merge_jid IS NOT NULL) AND ((state)::text = 'locked'::text))", using: :btree add_index "merge_requests", ["latest_merge_request_diff_id"], name: "index_merge_requests_on_latest_merge_request_diff_id", using: :btree add_index "merge_requests", ["merge_user_id"], name: "index_merge_requests_on_merge_user_id", where: "(merge_user_id IS NOT NULL)", using: :btree add_index "merge_requests", ["milestone_id"], name: "index_merge_requests_on_milestone_id", using: :btree -- cgit v1.2.1 From d32a571acbebd8655991f09e63302e59ca646f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20D=C3=A1vila?= Date: Thu, 1 Nov 2018 18:34:15 -0500 Subject: Fixes a migration that causes error on some legacy DBs Looks like there are some legacy GitLab databases that have a NOT NULL constraint for the `created_at` and `updated` fields. This change fixes the migration by adding a default value to those columns and I think we always should have it in mind when inserting DB records through raw SQL. --- .../20180413022611_create_missing_namespace_for_internal_users.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'db') diff --git a/db/migrate/20180413022611_create_missing_namespace_for_internal_users.rb b/db/migrate/20180413022611_create_missing_namespace_for_internal_users.rb index 8fc558be733..b7b346cb10e 100644 --- a/db/migrate/20180413022611_create_missing_namespace_for_internal_users.rb +++ b/db/migrate/20180413022611_create_missing_namespace_for_internal_users.rb @@ -45,7 +45,7 @@ class CreateMissingNamespaceForInternalUsers < ActiveRecord::Migration connection.exec_query(query).present? end - insert_query = "INSERT INTO namespaces(owner_id, path, name) VALUES(#{user_id}, '#{path}', '#{path}')" + insert_query = "INSERT INTO namespaces(owner_id, path, name, created_at, updated_at) VALUES(#{user_id}, '#{path}', '#{path}', NOW(), NOW())" namespace_id = connection.insert_sql(insert_query) create_route(namespace_id) @@ -57,7 +57,7 @@ class CreateMissingNamespaceForInternalUsers < ActiveRecord::Migration row = connection.exec_query("SELECT id, path FROM namespaces WHERE id=#{namespace_id}").first id, path = row.values_at('id', 'path') - execute("INSERT INTO routes(source_id, source_type, path, name) VALUES(#{id}, 'Namespace', '#{path}', '#{path}')") + execute("INSERT INTO routes(source_id, source_type, path, name, created_at, updated_at) VALUES(#{id}, 'Namespace', '#{path}', '#{path}', NOW(), NOW())") end def set_notification_email(user_id) -- cgit v1.2.1 From f760c1cd17881c8aef3a33a3b43db54673db8111 Mon Sep 17 00:00:00 2001 From: Nick Thomas Date: Fri, 19 Oct 2018 13:17:50 +0100 Subject: Start tracking shards in the database --- db/migrate/20181019032400_add_shards_table.rb | 11 +++++++++++ db/schema.rb | 6 ++++++ 2 files changed, 17 insertions(+) create mode 100644 db/migrate/20181019032400_add_shards_table.rb (limited to 'db') diff --git a/db/migrate/20181019032400_add_shards_table.rb b/db/migrate/20181019032400_add_shards_table.rb new file mode 100644 index 00000000000..5e0a6960548 --- /dev/null +++ b/db/migrate/20181019032400_add_shards_table.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class AddShardsTable < ActiveRecord::Migration + DOWNTIME = false + + def change + create_table :shards do |t| + t.string :name, null: false, index: { unique: true } + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 1a8b556228d..439f70b0198 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1931,6 +1931,12 @@ ActiveRecord::Schema.define(version: 20181101144347) do add_index "services", ["project_id"], name: "index_services_on_project_id", using: :btree add_index "services", ["template"], name: "index_services_on_template", using: :btree + create_table "shards", force: :cascade do |t| + t.string "name", null: false + end + + add_index "shards", ["name"], name: "index_shards_on_name", unique: true, using: :btree + create_table "site_statistics", force: :cascade do |t| t.integer "repositories_count", default: 0, null: false end -- cgit v1.2.1 From 270155d655bec91c3ae636e158b25fdb5bd03b45 Mon Sep 17 00:00:00 2001 From: Nick Thomas Date: Fri, 19 Oct 2018 04:44:41 +0100 Subject: Start tracking pool repositories --- .../20181019032408_add_repositories_table.rb | 15 +++++++++++++++ ..._add_projects_pool_repository_id_foreign_key.rb | 22 ++++++++++++++++++++++ db/schema.rb | 12 ++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 db/migrate/20181019032408_add_repositories_table.rb create mode 100644 db/migrate/20181019105553_add_projects_pool_repository_id_foreign_key.rb (limited to 'db') diff --git a/db/migrate/20181019032408_add_repositories_table.rb b/db/migrate/20181019032408_add_repositories_table.rb new file mode 100644 index 00000000000..077f264d3ce --- /dev/null +++ b/db/migrate/20181019032408_add_repositories_table.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class AddRepositoriesTable < ActiveRecord::Migration + DOWNTIME = false + + def change + create_table :repositories, id: :bigserial do |t| + t.references :shard, null: false, index: true, foreign_key: { on_delete: :restrict } + t.string :disk_path, null: false, index: { unique: true } + end + + add_column :projects, :pool_repository_id, :bigint + add_index :projects, :pool_repository_id, where: 'pool_repository_id IS NOT NULL' + end +end diff --git a/db/migrate/20181019105553_add_projects_pool_repository_id_foreign_key.rb b/db/migrate/20181019105553_add_projects_pool_repository_id_foreign_key.rb new file mode 100644 index 00000000000..059988de38a --- /dev/null +++ b/db/migrate/20181019105553_add_projects_pool_repository_id_foreign_key.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +class AddProjectsPoolRepositoryIdForeignKey < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_concurrent_foreign_key( + :projects, + :repositories, + column: :pool_repository_id, + on_delete: :nullify + ) + end + + def down + remove_foreign_key(:projects, column: :pool_repository_id) + end +end diff --git a/db/schema.rb b/db/schema.rb index 439f70b0198..d1815687968 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1703,6 +1703,7 @@ ActiveRecord::Schema.define(version: 20181101144347) do t.integer "jobs_cache_index" t.boolean "pages_https_only", default: true t.boolean "remote_mirror_available_overridden" + t.integer "pool_repository_id", limit: 8 end add_index "projects", ["ci_id"], name: "index_projects_on_ci_id", using: :btree @@ -1719,6 +1720,7 @@ ActiveRecord::Schema.define(version: 20181101144347) do add_index "projects", ["path"], name: "index_projects_on_path", using: :btree add_index "projects", ["path"], name: "index_projects_on_path_trigram", using: :gin, opclasses: {"path"=>"gin_trgm_ops"} add_index "projects", ["pending_delete"], name: "index_projects_on_pending_delete", using: :btree + add_index "projects", ["pool_repository_id"], name: "index_projects_on_pool_repository_id", where: "(pool_repository_id IS NOT NULL)", using: :btree add_index "projects", ["repository_storage", "created_at"], name: "idx_project_repository_check_partial", where: "(last_repository_check_at IS NULL)", using: :btree add_index "projects", ["repository_storage"], name: "index_projects_on_repository_storage", using: :btree add_index "projects", ["runners_token"], name: "index_projects_on_runners_token", using: :btree @@ -1851,6 +1853,14 @@ ActiveRecord::Schema.define(version: 20181101144347) do add_index "remote_mirrors", ["last_successful_update_at"], name: "index_remote_mirrors_on_last_successful_update_at", using: :btree add_index "remote_mirrors", ["project_id"], name: "index_remote_mirrors_on_project_id", using: :btree + create_table "repositories", id: :bigserial, force: :cascade do |t| + t.integer "shard_id", null: false + t.string "disk_path", null: false + end + + add_index "repositories", ["disk_path"], name: "index_repositories_on_disk_path", unique: true, using: :btree + add_index "repositories", ["shard_id"], name: "index_repositories_on_shard_id", using: :btree + create_table "repository_languages", id: false, force: :cascade do |t| t.integer "project_id", null: false t.integer "programming_language_id", null: false @@ -2456,6 +2466,7 @@ ActiveRecord::Schema.define(version: 20181101144347) do add_foreign_key "project_import_data", "projects", name: "fk_ffb9ee3a10", on_delete: :cascade add_foreign_key "project_mirror_data", "projects", on_delete: :cascade add_foreign_key "project_statistics", "projects", on_delete: :cascade + add_foreign_key "projects", "repositories", column: "pool_repository_id", name: "fk_6e5c14658a", on_delete: :nullify add_foreign_key "prometheus_metrics", "projects", on_delete: :cascade add_foreign_key "protected_branch_merge_access_levels", "protected_branches", name: "fk_8a3072ccb3", on_delete: :cascade add_foreign_key "protected_branch_push_access_levels", "protected_branches", name: "fk_9ffc86a3d9", on_delete: :cascade @@ -2467,6 +2478,7 @@ ActiveRecord::Schema.define(version: 20181101144347) do add_foreign_key "push_event_payloads", "events", name: "fk_36c74129da", on_delete: :cascade add_foreign_key "releases", "projects", name: "fk_47fe2a0596", on_delete: :cascade add_foreign_key "remote_mirrors", "projects", on_delete: :cascade + add_foreign_key "repositories", "shards", on_delete: :restrict add_foreign_key "repository_languages", "projects", on_delete: :cascade add_foreign_key "resource_label_events", "issues", on_delete: :cascade add_foreign_key "resource_label_events", "labels", on_delete: :nullify -- cgit v1.2.1 From c4bcb3a92ad6adb1acc76f337660d755e9db5409 Mon Sep 17 00:00:00 2001 From: Mark Chao Date: Thu, 27 Sep 2018 15:54:01 +0800 Subject: Add index to speed up loading projects from DeployToken --- ...dd_index_to_project_deploy_tokens_deploy_token_id.rb | 17 +++++++++++++++++ db/schema.rb | 1 + 2 files changed, 18 insertions(+) create mode 100644 db/migrate/20180927073410_add_index_to_project_deploy_tokens_deploy_token_id.rb (limited to 'db') diff --git a/db/migrate/20180927073410_add_index_to_project_deploy_tokens_deploy_token_id.rb b/db/migrate/20180927073410_add_index_to_project_deploy_tokens_deploy_token_id.rb new file mode 100644 index 00000000000..cd78779068a --- /dev/null +++ b/db/migrate/20180927073410_add_index_to_project_deploy_tokens_deploy_token_id.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class AddIndexToProjectDeployTokensDeployTokenId < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_concurrent_index :project_deploy_tokens, :deploy_token_id + end + + def down + remove_concurrent_index(:project_deploy_tokens, :deploy_token_id) if Gitlab::Database.postgresql? + end +end diff --git a/db/schema.rb b/db/schema.rb index 1a8b556228d..133b46819d0 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1588,6 +1588,7 @@ ActiveRecord::Schema.define(version: 20181101144347) do t.datetime_with_timezone "created_at", null: false end + add_index "project_deploy_tokens", ["deploy_token_id"], name: "index_project_deploy_tokens_on_deploy_token_id", using: :btree add_index "project_deploy_tokens", ["project_id", "deploy_token_id"], name: "index_project_deploy_tokens_on_project_id_and_deploy_token_id", unique: true, using: :btree create_table "project_features", force: :cascade do |t| -- cgit v1.2.1 From b47e666026c30dbfaa0012655bb01eb18d1c3a63 Mon Sep 17 00:00:00 2001 From: Mark Chao Date: Mon, 29 Oct 2018 18:36:32 +0800 Subject: Make migration symmetric --- ...0180927073410_add_index_to_project_deploy_tokens_deploy_token_id.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'db') diff --git a/db/migrate/20180927073410_add_index_to_project_deploy_tokens_deploy_token_id.rb b/db/migrate/20180927073410_add_index_to_project_deploy_tokens_deploy_token_id.rb index cd78779068a..61d32fe16eb 100644 --- a/db/migrate/20180927073410_add_index_to_project_deploy_tokens_deploy_token_id.rb +++ b/db/migrate/20180927073410_add_index_to_project_deploy_tokens_deploy_token_id.rb @@ -8,7 +8,8 @@ class AddIndexToProjectDeployTokensDeployTokenId < ActiveRecord::Migration disable_ddl_transaction! def up - add_concurrent_index :project_deploy_tokens, :deploy_token_id + # MySQL already has index inserted + add_concurrent_index :project_deploy_tokens, :deploy_token_id if Gitlab::Database.postgresql? end def down -- cgit v1.2.1 From 40397f35771a37a772f86e00d7dc708ddc6d3544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 23 Oct 2018 12:58:41 +0200 Subject: Allow to make builds soft-archived. The soft-archived builds cannot be run after some deadline time. The intent is to aggressively recycle old builds after sometime. --- ...858_add_archive_builds_duration_to_application_settings.rb | 11 +++++++++++ db/schema.rb | 1 + 2 files changed, 12 insertions(+) create mode 100644 db/migrate/20181023104858_add_archive_builds_duration_to_application_settings.rb (limited to 'db') diff --git a/db/migrate/20181023104858_add_archive_builds_duration_to_application_settings.rb b/db/migrate/20181023104858_add_archive_builds_duration_to_application_settings.rb new file mode 100644 index 00000000000..744748b3fad --- /dev/null +++ b/db/migrate/20181023104858_add_archive_builds_duration_to_application_settings.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class AddArchiveBuildsDurationToApplicationSettings < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def change + add_column(:application_settings, :archive_builds_in_seconds, :integer, allow_null: true) + end +end diff --git a/db/schema.rb b/db/schema.rb index 1a8b556228d..bda1f1a36b2 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -165,6 +165,7 @@ ActiveRecord::Schema.define(version: 20181101144347) do t.integer "usage_stats_set_by_user_id" t.integer "receive_max_input_size" t.integer "diff_max_patch_bytes", default: 102400, null: false + t.integer "archive_builds_in_seconds" end create_table "audit_events", force: :cascade do |t| -- cgit v1.2.1 From b3020aaffd1d04319c1d9a06b73a3dd7d93514de Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Mon, 5 Nov 2018 09:37:40 +0900 Subject: Squashed commit of the following: commit 931d6ab0e025b0268d94e455f736b09a025e0578 Merge: b34d165320d 93846eb152f Author: Shinya Maeda Date: Mon Nov 5 09:36:58 2018 +0900 Merge branch 'master-ce' into stateful_deployments commit b34d165320d6f3298c8b776ba66270a59c217412 Author: Shinya Maeda Date: Fri Nov 2 18:07:08 2018 +0900 Fix flaky spec commit b5e0527c5d4fe8f18b2fdda5916bae9b8cd859a4 Author: Shinya Maeda Date: Fri Nov 2 15:32:03 2018 +0900 Fix spec commit f78a5e96e66fe2d25086df495e339b470a274df8 Author: Shinya Maeda Date: Fri Nov 2 14:59:29 2018 +0900 Remove unnecessary line in schema.rb commit 6ce7c483e0591b5d6f9588a99853834327b80031 Author: Shinya Maeda Date: Fri Nov 2 14:55:48 2018 +0900 Add partial index for filling deployment at migration commit aecccfb5118c8982db3ba502fdf37b5e639fbfc6 Author: Shinya Maeda Date: Fri Nov 2 14:42:24 2018 +0900 Fix fill empty finished at migration commit 0199e1761ad1b391ae87a53a9a113d3256529e0e Author: Shinya Maeda Date: Fri Nov 2 14:19:44 2018 +0900 Fix flaky spec commit 56ac84cd8095afab5b909119445537b7da06a2ff Author: Shinya Maeda Date: Fri Nov 2 10:06:49 2018 +0900 Fix guard clause to prevent multiple deployments to a job commit 521561b6b303b54635c30cb23d78e49d14cec53d Author: Shinya Maeda Date: Thu Nov 1 20:19:24 2018 +0900 Fix spec commit 2878da0d29b9bd2dde69a1b216203df118dd59a1 Author: Shinya Maeda Date: Thu Nov 1 19:38:59 2018 +0900 Simplify the factory commit 22fd7df02133f3a21828554965fd5619905eac2c Author: Shinya Maeda Date: Thu Nov 1 19:33:50 2018 +0900 Simplify the Deployable and BuildSuccessWorker commit 41108959677ed614f4548443a2f4303c4c04925a Author: Shinya Maeda Date: Thu Nov 1 18:34:20 2018 +0900 Fix spec commit ae75fe7461ac72f621498797f478d42331342b84 Author: Shinya Maeda Date: Thu Nov 1 17:19:12 2018 +0900 Fix weird virtual deployment status commit 380fee7494d06407dccc292c3cbedbcee7b6e235 Author: Shinya Maeda Date: Thu Nov 1 15:59:31 2018 +0900 Fix spec commit 29889fcbaadb3bbfd2f11c10bfbf5dceb3e3ddba Author: Shinya Maeda Date: Thu Nov 1 15:07:10 2018 +0900 Fix coding offence commit 36ac13f345f5ef25725c2236a791a40a3a9e6126 Author: Shinya Maeda Date: Thu Nov 1 14:22:17 2018 +0900 Squashed commit of the following: commit ba9aede922e1643db3f06c56736d46d6d86d356b Author: Shinya Maeda Date: Thu Nov 1 14:21:33 2018 +0900 Fix ambiguious factory specification in update deployment service spec commit 013afb5668cb30dc4ca5b21945c17b341e7ea7f9 Author: Shinya Maeda Date: Thu Nov 1 14:10:24 2018 +0900 Fix spec commit 78793670d049e2dfb5fc98177eb4d10f20b9310b Author: Shinya Maeda Date: Wed Oct 31 18:26:12 2018 +0900 Fix spec commit 73d27e87c66698f2e3a817bb8728f02475b7ba4f Author: Shinya Maeda Date: Wed Oct 31 16:22:14 2018 +0900 Fix index commit 8580a226ea68bf5e49b35bfb5f404968bbfaf8e9 Author: Shinya Maeda Date: Wed Oct 31 15:34:57 2018 +0900 Fix deployment relationships in Ci::Build commit d6d28b55afd1179200b4f5188e0b53079ff3c1a7 Author: Shinya Maeda Date: Wed Oct 31 15:27:53 2018 +0900 Fix spec commit 94eb754e2e1bb9a1fe627f86823f571a8298d27b Author: Shinya Maeda Date: Wed Oct 31 14:07:11 2018 +0900 Fix spec commit 0b30f80bcd08a7a06bdde3378ec1733f865284be Author: Shinya Maeda Date: Tue Oct 30 20:15:31 2018 +0900 Fix spec commit 466bdcdb6af8cdb475c9fa16bd7d1dff23b11e40 Author: Shinya Maeda Date: Tue Oct 30 19:28:51 2018 +0900 Fix spec commit a7c3caac99139e70fe3f1f3d14856939fa25c527 Author: Shinya Maeda Date: Tue Oct 30 17:33:47 2018 +0900 Fix factory commit cea28ae100532e6711ce1d22676719a94e2da8a0 Author: Shinya Maeda Date: Tue Oct 30 16:28:18 2018 +0900 Drop leagacy success commit 3785d685eabc10b6597cf3db67bf08385ccf298a Author: Shinya Maeda Date: Tue Oct 30 15:37:28 2018 +0900 Remove unnecessary migration file commit 0d597fa46eeffdbb9a4afb53005a8183e433c6bf Author: Shinya Maeda Date: Tue Oct 30 15:35:53 2018 +0900 Fix schema.rb commit ec3c2abc6944e09f6410468ae5e356865ec7b02b Author: Shinya Maeda Date: Tue Oct 30 15:34:21 2018 +0900 Rename post migration file commit 0e7281885a84656acf95f0f423732680f8fec076 Author: Shinya Maeda Date: Tue Oct 30 15:31:01 2018 +0900 Remove include EnumWithNil commit b3846d59c07e07275126c70361bde7f30810729e Author: Shinya Maeda Date: Tue Oct 30 15:05:50 2018 +0900 Decouple action commit c9f9ba4eae9ca1edc7d8751e1d2e0572cb222d9c Author: Shinya Maeda Date: Tue Oct 30 14:23:29 2018 +0900 Remove status mock commit d95bfea1ca67b3a27a3226a669c2b1266d696682 Author: Shinya Maeda Date: Tue Oct 30 14:17:14 2018 +0900 Add action commit 0cec39e0f76c22a18498f46d65ad7226fb30c3f8 Author: Shinya Maeda Date: Tue Oct 30 13:44:07 2018 +0900 Remove unnecessary line in schema.rb commit 7b4c5f8e1b00dd8e6aa944352f9d8a9f3ae6f1c7 Author: Shinya Maeda Date: Mon Oct 29 19:59:41 2018 +0900 Revert build success worker commit 0c52ffa4a23eea488c187317e8b400369846f399 Author: Shinya Maeda Date: Mon Oct 29 19:11:47 2018 +0900 Use add_column_with_default properly commit ba9bae357da5dfd2f6ec05f7f9db9d0b31224f48 Author: Shinya Maeda Date: Mon Oct 29 18:40:55 2018 +0900 Fix with_status commit 75dffc97b9c5f6fa73d9d09b125c8f849fa2caae Author: Shinya Maeda Date: Mon Oct 29 16:26:56 2018 +0900 Remove unnecessary line in schema.rb commit 25188ccc52fb29ca63b9205c4d95ffc2e0afadee Author: Shinya Maeda Date: Mon Oct 29 16:26:17 2018 +0900 Set default values in regular migration commit 98ea037fbf39c8d9f0db77fb50e2d08382425158 Author: Shinya Maeda Date: Fri Oct 26 17:27:49 2018 +0900 Fix static analysis commit e7d1765f77f9ff9b94a34985a7855bdaab1da675 Author: Shinya Maeda Date: Fri Oct 26 16:37:10 2018 +0900 Remove empty spec commit 0033f521ed1eae8117dba231961aa47c068bbcfb Author: Shinya Maeda Date: Fri Oct 26 16:34:55 2018 +0900 Simplify spec changes commit 0be4c6b3ade6d9a8bf28bcd177c66ebd7bb7d20a Author: Shinya Maeda Date: Fri Oct 26 16:32:45 2018 +0900 Simplify spec changes commit a93d25d79df7e25bdf688fc938c712922f9dc4df Author: Shinya Maeda Date: Fri Oct 26 16:02:31 2018 +0900 Fix flaky spec commit 339ad50cf471ca706b29f008ccd2bb881dd5b776 Author: Shinya Maeda Date: Fri Oct 26 15:06:22 2018 +0900 Rename Deployments Success worker commit bd69c78085adcb9b0f8ff9b7041ae355953ad7ab Author: Shinya Maeda Date: Fri Oct 26 14:43:03 2018 +0900 Fix coding offence commit 004748b2a9c5236ec13eb01289418f3d6571c92c Author: Shinya Maeda Date: Thu Oct 25 20:09:10 2018 +0900 Rename to update deployment service commit b04a85e761de501f030f3844fd485a2b9e46f7f7 Author: Shinya Maeda Date: Thu Oct 25 18:46:52 2018 +0900 Add spec for Project commit 548af23a5a07f0c20b72849d03aa0b98a0b49134 Author: Shinya Maeda Date: Thu Oct 25 18:43:25 2018 +0900 Fix spec commit c977e4d3f17194c46a1bf857b473017ce21ef7e9 Author: Shinya Maeda Date: Thu Oct 25 17:58:07 2018 +0900 Add spec for Environment commit 73feb9010f8d8093bee4b46e56d30cfef3e8e34a Author: Shinya Maeda Date: Thu Oct 25 17:39:24 2018 +0900 Add spec for Deployment model commit 9a3cfbf766f402571588839375cf311bb9807035 Author: Shinya Maeda Date: Thu Oct 25 17:18:02 2018 +0900 Fix statis analysis commit a30d28dbc631a29855883ca89c592a10c012f1d2 Author: Shinya Maeda Date: Thu Oct 25 17:17:32 2018 +0900 Ignore nil instance commit fa6fdd89f380e588a6bcf14b1f9aef0d14d3854b Author: Shinya Maeda Date: Thu Oct 25 16:20:40 2018 +0900 Add spec for deployable concern commit aa91186821dc671df2c7a641e37586dd5dfc1008 Author: Shinya Maeda Date: Thu Oct 25 15:37:23 2018 +0900 Clean up deployable commit 34d3e18731f7906a3db250b105a64d1db83c2fca Author: Shinya Maeda Date: Thu Oct 25 15:13:05 2018 +0900 Fix 17 cycle analytics commit 8dc9e00408f9b390175e7d5ea743eed4fb9e3f79 Author: Shinya Maeda Date: Thu Oct 25 13:56:51 2018 +0900 Fix static analysys commit 5c4175807a537bafc4b889b0a97e8f96f0e483cd Author: Shinya Maeda Date: Wed Oct 24 15:05:05 2018 +0900 Skip unnecessary sidekiq worker commit 9d8b5d423f49cc247c96ce3767d03b4af305809f Author: Shinya Maeda Date: Wed Oct 24 14:53:13 2018 +0900 Add changelog commit c8cabba496722240cadf7c161c80bceb09727cba Author: Shinya Maeda Date: Wed Oct 24 14:44:45 2018 +0900 Squashed commit of the following: commit f7643885ac2329e18d690a4e4f2d7614b732c793 Author: Shinya Maeda Date: Tue Oct 23 19:38:45 2018 +0900 Fix deployment widget specs commit 03bd04b5c98b634dff6a0ab4292c150a9031995c Author: Shinya Maeda Date: Tue Oct 23 17:50:16 2018 +0900 Fix env status spec commit 4a49c6502b161a12f0f62d5ec167dff777047dab Author: Shinya Maeda Date: Tue Oct 23 17:48:59 2018 +0900 Fix environment spec commit 4044822887987e20a703990ff20352a532eeb965 Author: Shinya Maeda Date: Tue Oct 23 17:47:17 2018 +0900 Fix environment spec commit 9939d44b7eb9da371de74c0f04fed1eb3db37ad3 Author: Shinya Maeda Date: Tue Oct 23 15:45:43 2018 +0900 Add a new spec for deployment success worker commit f61c4d3657b5ef13b5da171460da68a6643ad4b5 Author: Shinya Maeda Date: Tue Oct 23 15:38:11 2018 +0900 Fix cycle analytics helper commit b6242615e8298fb7fc047c8df8006c25ad717c70 Author: Shinya Maeda Date: Tue Oct 23 14:41:54 2018 +0900 Fix cycle analysis helper commit 9a001cb4c4ed6f3b87dc612bdffc60a6b2b0a132 Author: Shinya Maeda Date: Tue Oct 23 14:37:08 2018 +0900 Ignore coding offence in build success worker's spec commit 1fb88583025bac8a56172cbd59be04258ea4c5f3 Author: Shinya Maeda Date: Tue Oct 23 14:33:11 2018 +0900 Added more spec for deployments commit 1a6ba97ababbf62e8dd0ae0c56d75ab1268fd0ce Author: Shinya Maeda Date: Mon Oct 22 19:36:50 2018 +0900 Move after create hookd into success worker commit 09de5fed5d6f108423779cf9d9e7f1d21f3c1c91 Author: Shinya Maeda Date: Mon Oct 22 19:30:06 2018 +0900 Fix build spec commit 73a55cbcabbb1e928eca3e53e8ff75dec178bc90 Author: Shinya Maeda Date: Mon Oct 22 19:08:43 2018 +0900 Fix update_deployment_metrics_service_spec.rb commit ee05136a02ae9fa348b4b89b9a69937ebb9697dd Author: Shinya Maeda Date: Mon Oct 22 17:32:05 2018 +0900 Remove unnecessary degelate commit e246ddeebc01a807ccc36fdb484c3e72ad91e680 Author: Shinya Maeda Date: Mon Oct 22 16:07:39 2018 +0900 Remove unnecessary optimistic locking commit dcc225c8237b90e3bc8dcc3dc2e3252e0b0be093 Author: Shinya Maeda Date: Mon Oct 22 16:00:22 2018 +0900 Simplify status replication commit 13a5fd7afb67ba2712fcaecaea5fedf05f9ad177 Author: Shinya Maeda Date: Mon Oct 22 15:29:24 2018 +0900 Fix sidekiq queue names commit dcc796f48d523538e1c91b9cd3e1c7065e5329b1 Author: Shinya Maeda Date: Mon Oct 22 15:23:55 2018 +0900 Revert success check in update_merge_request_metrics commit 129ef083d637d4acb8c97a6d9ab96deb2ff6efcd Author: Shinya Maeda Date: Mon Oct 22 15:18:31 2018 +0900 Fix queue name of deployment success worker commit 10fe5a6484f4f02322ce5bb16844fc7b1d565963 Author: Shinya Maeda Date: Mon Oct 22 15:09:42 2018 +0900 Introduce deployable module commit d91260bbe105bf46f6c06d9e9593c8c4cd5139cf Author: Shinya Maeda Date: Mon Oct 22 14:05:31 2018 +0900 Add database index for successful deployments commit 74274147263de4b60870065a19935498ce662e30 Author: Shinya Maeda Date: Mon Oct 22 13:51:59 2018 +0900 Fix invalid state transition commit ff18463cc847bf3cf5a3e49f3651eedfdf67c7e6 Author: Shinya Maeda Date: Fri Oct 19 20:05:15 2018 +0900 Fix coding style offence commit 0202c0f5b631601edab7b359b087b307f5eb7ba3 Author: Shinya Maeda Date: Fri Oct 19 18:34:07 2018 +0900 Target only successful deployments from other relations commit 1f2758cb030dec1df5dda30f6bc3e25b6d0841c9 Author: Shinya Maeda Date: Fri Oct 19 18:21:28 2018 +0900 Add namespace explicitly commit 3d9227b6e5642cecde88d4edac925125f6474b11 Author: Shinya Maeda Date: Fri Oct 19 17:42:30 2018 +0900 Fix spec in DeleteInconsistentInternalIdRecords commit 3e0cc99ff6c5c7188511618228a6ec027752ce69 Author: Shinya Maeda Date: Fri Oct 19 16:10:16 2018 +0900 Fixed spec commit 8de09b8bb31f7b9f24ecdf9f2dd8ef358a260263 Author: Shinya Maeda Date: Fri Oct 19 14:22:35 2018 +0900 Fix create deployment service commit 31957570b4444492eeb412e765f96a56416c25f3 Author: Shinya Maeda Date: Thu Oct 18 20:21:26 2018 +0900 Move CreateDeploymentService. Fix Cycle analytics spec and fixture. commit d2eb433a1bb9710c0d4778c4f34c12b6b64f60e6 Author: Shinya Maeda Date: Thu Oct 18 20:11:22 2018 +0900 Fix build success worker commit 25e6cd87138bcdb69de8785ca367e479c8dbcc59 Author: Shinya Maeda Date: Thu Oct 18 19:49:13 2018 +0900 Fix create deployment service spec commit d268bf410bf65e86c81eb76d50aa8e145b32d249 Author: Shinya Maeda Date: Thu Oct 18 19:01:23 2018 +0900 Fix cycle analysys spec's deployment commit 525ade8aa1e4394ed8a759bb0437e407fbe74a35 Author: Shinya Maeda Date: Thu Oct 18 18:24:04 2018 +0900 Fix factory to set legacy status by default commit c6a990821ac0a1ffa49e20e2d78d94b8ce075914 Author: Shinya Maeda Date: Thu Oct 18 17:25:40 2018 +0900 Remove unnecessary lib from deployment commit a6107e0e85ac26ee09da3316ebc11de32f067d82 Author: Shinya Maeda Date: Wed Oct 17 17:38:58 2018 +0900 Fix recursive call commit 15c5f3b64061a75af3c3039ca7f49b1cc4ff3068 Author: Shinya Maeda Date: Wed Oct 17 17:30:44 2018 +0900 Add finished_at commit c8d3d70366f694d78acb7e30d342c7697798b922 Author: Shinya Maeda Date: Wed Oct 17 15:55:31 2018 +0900 Fix last_deployment methods as it used to return successful deployment always commit 96bbe8670cece021766fde95fe573cbbe23d1e55 Author: Shinya Maeda Date: Wed Oct 17 15:49:57 2018 +0900 Redefine statuses commit c86a9d0bd2ab3e7a00bf61f094a96ee99b76b289 Author: Shinya Maeda Date: Wed Oct 17 14:50:27 2018 +0900 Fix schema.rb commit 9ff5f0eaafbc08795018c7bb282b19f6327dee21 Author: Shinya Maeda Date: Wed Oct 17 14:18:04 2018 +0900 Default status nil to success commit 5928bd9bb94e1e8908ed1561e01595be84d5f4ec Author: Shinya Maeda Date: Tue Oct 16 15:13:48 2018 +0900 Add status to Deployment --- db/fixtures/development/17_cycle_analytics.rb | 10 +++----- ...0181015155839_add_finished_at_to_deployments.rb | 15 +++++++++++ .../20181016141739_add_status_to_deployments.rb | 29 ++++++++++++++++++++++ ...022135539_add_index_on_status_to_deployments.rb | 19 ++++++++++++++ ...tial_index_for_legacy_successful_deployments.rb | 18 ++++++++++++++ ...135124_fill_empty_finished_at_in_deployments.rb | 27 ++++++++++++++++++++ db/schema.rb | 5 ++++ 7 files changed, 117 insertions(+), 6 deletions(-) create mode 100644 db/migrate/20181015155839_add_finished_at_to_deployments.rb create mode 100644 db/migrate/20181016141739_add_status_to_deployments.rb create mode 100644 db/migrate/20181022135539_add_index_on_status_to_deployments.rb create mode 100644 db/migrate/20181023144439_add_partial_index_for_legacy_successful_deployments.rb create mode 100644 db/post_migrate/20181030135124_fill_empty_finished_at_in_deployments.rb (limited to 'db') diff --git a/db/fixtures/development/17_cycle_analytics.rb b/db/fixtures/development/17_cycle_analytics.rb index 285436f4324..7a86fe2eb7c 100644 --- a/db/fixtures/development/17_cycle_analytics.rb +++ b/db/fixtures/development/17_cycle_analytics.rb @@ -180,11 +180,8 @@ class Gitlab::Seeder::CycleAnalytics ref: "refs/heads/#{merge_request.source_branch}") pipeline = service.execute(:push, ignore_skip_ci: true, save_on_errors: false) - pipeline.run! - Timecop.travel rand(1..6).hours.from_now - pipeline.succeed! - - PipelineMetricsWorker.new.perform(pipeline.id) + pipeline.builds.map(&:run!) + pipeline.update_status end end @@ -204,7 +201,8 @@ class Gitlab::Seeder::CycleAnalytics job = merge_request.head_pipeline.builds.where.not(environment: nil).last - CreateDeploymentService.new(job).execute + job.success! + pipeline.update_status end end end diff --git a/db/migrate/20181015155839_add_finished_at_to_deployments.rb b/db/migrate/20181015155839_add_finished_at_to_deployments.rb new file mode 100644 index 00000000000..1a061bb0f5f --- /dev/null +++ b/db/migrate/20181015155839_add_finished_at_to_deployments.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class AddFinishedAtToDeployments < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def up + add_column :deployments, :finished_at, :datetime_with_timezone + end + + def down + remove_column :deployments, :finished_at, :datetime_with_timezone + end +end diff --git a/db/migrate/20181016141739_add_status_to_deployments.rb b/db/migrate/20181016141739_add_status_to_deployments.rb new file mode 100644 index 00000000000..321172696b4 --- /dev/null +++ b/db/migrate/20181016141739_add_status_to_deployments.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +class AddStatusToDeployments < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DEPLOYMENT_STATUS_SUCCESS = 2 # Equivalent to Deployment.state_machine.states['success'].value + + DOWNTIME = false + + disable_ddl_transaction! + + ## + # NOTE: + # Ideally, `status` column should not have default value because it should be leveraged by state machine (i.e. application level). + # However, we have to use the default value for avoiding `NOT NULL` violation during the transition period. + # The default value should be removed in the future release. + def up + add_column_with_default(:deployments, + :status, + :integer, + limit: 2, + default: DEPLOYMENT_STATUS_SUCCESS, + allow_null: false) + end + + def down + remove_column(:deployments, :status) + end +end diff --git a/db/migrate/20181022135539_add_index_on_status_to_deployments.rb b/db/migrate/20181022135539_add_index_on_status_to_deployments.rb new file mode 100644 index 00000000000..2eed20aa855 --- /dev/null +++ b/db/migrate/20181022135539_add_index_on_status_to_deployments.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class AddIndexOnStatusToDeployments < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_concurrent_index :deployments, [:project_id, :status] + add_concurrent_index :deployments, [:environment_id, :status] + end + + def down + remove_concurrent_index :deployments, [:project_id, :status] + remove_concurrent_index :deployments, [:environment_id, :status] + end +end diff --git a/db/migrate/20181023144439_add_partial_index_for_legacy_successful_deployments.rb b/db/migrate/20181023144439_add_partial_index_for_legacy_successful_deployments.rb new file mode 100644 index 00000000000..5896102af1c --- /dev/null +++ b/db/migrate/20181023144439_add_partial_index_for_legacy_successful_deployments.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +class AddPartialIndexForLegacySuccessfulDeployments < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + INDEX_NAME = 'partial_index_deployments_for_legacy_successful_deployments'.freeze + + disable_ddl_transaction! + + def up + add_concurrent_index(:deployments, :id, where: "finished_at IS NULL AND status = 2", name: INDEX_NAME) + end + + def down + remove_concurrent_index_by_name(:deployments, INDEX_NAME) + end +end diff --git a/db/post_migrate/20181030135124_fill_empty_finished_at_in_deployments.rb b/db/post_migrate/20181030135124_fill_empty_finished_at_in_deployments.rb new file mode 100644 index 00000000000..32b271c472a --- /dev/null +++ b/db/post_migrate/20181030135124_fill_empty_finished_at_in_deployments.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +class FillEmptyFinishedAtInDeployments < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + DEPLOYMENT_STATUS_SUCCESS = 2 # Equivalent to Deployment.statuses[:success] + + class Deployments < ActiveRecord::Base + self.table_name = 'deployments' + + include EachBatch + end + + def up + FillEmptyFinishedAtInDeployments::Deployments + .where('finished_at IS NULL') + .where('status = ?', DEPLOYMENT_STATUS_SUCCESS) + .each_batch(of: 10_000) do |relation| + relation.update_all('finished_at=created_at') + end + end + + def down + # no-op + end +end diff --git a/db/schema.rb b/db/schema.rb index 32d10e87e87..31f8403e1f2 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -825,13 +825,18 @@ ActiveRecord::Schema.define(version: 20181101144347) do t.datetime "created_at" t.datetime "updated_at" t.string "on_stop" + t.integer "status", limit: 2, default: 2, null: false + t.datetime_with_timezone "finished_at" end add_index "deployments", ["created_at"], name: "index_deployments_on_created_at", using: :btree add_index "deployments", ["deployable_type", "deployable_id"], name: "index_deployments_on_deployable_type_and_deployable_id", using: :btree add_index "deployments", ["environment_id", "id"], name: "index_deployments_on_environment_id_and_id", using: :btree add_index "deployments", ["environment_id", "iid", "project_id"], name: "index_deployments_on_environment_id_and_iid_and_project_id", using: :btree + add_index "deployments", ["environment_id", "status"], name: "index_deployments_on_environment_id_and_status", using: :btree + add_index "deployments", ["id"], name: "partial_index_deployments_for_legacy_successful_deployments", where: "((finished_at IS NULL) AND (status = 2))", using: :btree add_index "deployments", ["project_id", "iid"], name: "index_deployments_on_project_id_and_iid", unique: true, using: :btree + add_index "deployments", ["project_id", "status"], name: "index_deployments_on_project_id_and_status", using: :btree create_table "emails", force: :cascade do |t| t.integer "user_id", null: false -- cgit v1.2.1 From b88f2ac5423552b7cb8f25c1b2353e434aab6cd6 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Tue, 6 Nov 2018 20:25:28 +0900 Subject: Revert Drop gcp_clusters table --- .../20181031190559_drop_gcp_clusters_table.rb | 53 ---------------------- db/schema.rb | 32 +++++++++++++ 2 files changed, 32 insertions(+), 53 deletions(-) delete mode 100644 db/migrate/20181031190559_drop_gcp_clusters_table.rb (limited to 'db') diff --git a/db/migrate/20181031190559_drop_gcp_clusters_table.rb b/db/migrate/20181031190559_drop_gcp_clusters_table.rb deleted file mode 100644 index 808d474b4fc..00000000000 --- a/db/migrate/20181031190559_drop_gcp_clusters_table.rb +++ /dev/null @@ -1,53 +0,0 @@ -# frozen_string_literal: true - -class DropGcpClustersTable < ActiveRecord::Migration - include Gitlab::Database::MigrationHelpers - - DOWNTIME = false - - def up - drop_table :gcp_clusters - end - - def down - create_table :gcp_clusters do |t| - # Order columns by best align scheme - t.references :project, null: false, index: { unique: true }, foreign_key: { on_delete: :cascade } - t.references :user, foreign_key: { on_delete: :nullify } - t.references :service, foreign_key: { on_delete: :nullify } - t.integer :status - t.integer :gcp_cluster_size, null: false - - # Timestamps - t.datetime_with_timezone :created_at, null: false - t.datetime_with_timezone :updated_at, null: false - - # Enable/disable - t.boolean :enabled, default: true - - # General - t.text :status_reason - - # k8s integration specific - t.string :project_namespace - - # Cluster details - t.string :endpoint - t.text :ca_cert - t.text :encrypted_kubernetes_token - t.string :encrypted_kubernetes_token_iv - t.string :username - t.text :encrypted_password - t.string :encrypted_password_iv - - # GKE - t.string :gcp_project_id, null: false - t.string :gcp_cluster_zone, null: false - t.string :gcp_cluster_name, null: false - t.string :gcp_machine_type - t.string :gcp_operation_id - t.text :encrypted_gcp_token - t.string :encrypted_gcp_token_iv - end - end -end diff --git a/db/schema.rb b/db/schema.rb index 32d10e87e87..423c31602e4 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -919,6 +919,35 @@ ActiveRecord::Schema.define(version: 20181101144347) do add_index "forked_project_links", ["forked_to_project_id"], name: "index_forked_project_links_on_forked_to_project_id", unique: true, using: :btree + create_table "gcp_clusters", force: :cascade do |t| + t.integer "project_id", null: false + t.integer "user_id" + t.integer "service_id" + t.integer "status" + t.integer "gcp_cluster_size", null: false + t.datetime_with_timezone "created_at", null: false + t.datetime_with_timezone "updated_at", null: false + t.boolean "enabled", default: true + t.text "status_reason" + t.string "project_namespace" + t.string "endpoint" + t.text "ca_cert" + t.text "encrypted_kubernetes_token" + t.string "encrypted_kubernetes_token_iv" + t.string "username" + t.text "encrypted_password" + t.string "encrypted_password_iv" + t.string "gcp_project_id", null: false + t.string "gcp_cluster_zone", null: false + t.string "gcp_cluster_name", null: false + t.string "gcp_machine_type" + t.string "gcp_operation_id" + t.text "encrypted_gcp_token" + t.string "encrypted_gcp_token_iv" + end + + add_index "gcp_clusters", ["project_id"], name: "index_gcp_clusters_on_project_id", unique: true, using: :btree + create_table "gpg_key_subkeys", force: :cascade do |t| t.integer "gpg_key_id", null: false t.binary "keyid" @@ -2402,6 +2431,9 @@ ActiveRecord::Schema.define(version: 20181101144347) do add_foreign_key "fork_network_members", "projects", on_delete: :cascade add_foreign_key "fork_networks", "projects", column: "root_project_id", name: "fk_e7b436b2b5", on_delete: :nullify add_foreign_key "forked_project_links", "projects", column: "forked_to_project_id", name: "fk_434510edb0", on_delete: :cascade + add_foreign_key "gcp_clusters", "projects", on_delete: :cascade + add_foreign_key "gcp_clusters", "services", on_delete: :nullify + add_foreign_key "gcp_clusters", "users", on_delete: :nullify add_foreign_key "gpg_key_subkeys", "gpg_keys", on_delete: :cascade add_foreign_key "gpg_keys", "users", on_delete: :cascade add_foreign_key "gpg_signatures", "gpg_key_subkeys", on_delete: :nullify -- cgit v1.2.1 From 477d2e1a4708f0265d713c0f6a58ba86c97a46b4 Mon Sep 17 00:00:00 2001 From: Mayra Cabrera Date: Tue, 6 Nov 2018 12:23:00 +0000 Subject: Add background migration for Kubernetes Namespaces --- ...35_enqueue_populate_cluster_kubernetes_namespace.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 db/post_migrate/20181022173835_enqueue_populate_cluster_kubernetes_namespace.rb (limited to 'db') diff --git a/db/post_migrate/20181022173835_enqueue_populate_cluster_kubernetes_namespace.rb b/db/post_migrate/20181022173835_enqueue_populate_cluster_kubernetes_namespace.rb new file mode 100644 index 00000000000..f80a2aa6eac --- /dev/null +++ b/db/post_migrate/20181022173835_enqueue_populate_cluster_kubernetes_namespace.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +class EnqueuePopulateClusterKubernetesNamespace < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + MIGRATION = 'PopulateClusterKubernetesNamespaceTable'.freeze + + disable_ddl_transaction! + + def up + BackgroundMigrationWorker.perform_async(MIGRATION) + end + + def down + Clusters::KubernetesNamespace.delete_all + end +end -- cgit v1.2.1