diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-05 18:14:09 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-05 18:14:09 +0300 |
commit | d4e0452ed946ca0cf4dd0537675abeda7a4c0ffa (patch) | |
tree | 1f719aa86ade289adefa247ba93a8f0f90528608 /db | |
parent | cd17aa65132de074aab9ae50ab7bbf7f16428546 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'db')
9 files changed, 101 insertions, 4 deletions
diff --git a/db/migrate/20230207002330_add_project_group_link_on_delete_cascade_fk.rb b/db/migrate/20230207002330_add_project_group_link_on_delete_cascade_fk.rb new file mode 100644 index 00000000000..5d6f4961baf --- /dev/null +++ b/db/migrate/20230207002330_add_project_group_link_on_delete_cascade_fk.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +class AddProjectGroupLinkOnDeleteCascadeFk < Gitlab::Database::Migration[2.1] + disable_ddl_transaction! + + def up + add_concurrent_foreign_key( + :project_group_links, + :namespaces, + column: :group_id, + on_delete: :cascade, + validate: false + ) + end + + def down + with_lock_retries do + remove_foreign_key_if_exists :project_group_links, column: :group_id + end + end +end diff --git a/db/post_migrate/20230209222452_schedule_remove_project_group_link_with_missing_groups.rb b/db/post_migrate/20230209222452_schedule_remove_project_group_link_with_missing_groups.rb new file mode 100644 index 00000000000..b7dd81267d7 --- /dev/null +++ b/db/post_migrate/20230209222452_schedule_remove_project_group_link_with_missing_groups.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +class ScheduleRemoveProjectGroupLinkWithMissingGroups < Gitlab::Database::Migration[2.1] + MIGRATION = 'RemoveProjectGroupLinkWithMissingGroups' + DELAY_INTERVAL = 2.minutes + BATCH_SIZE = 1_000 + MAX_BATCH_SIZE = 10_000 + SUB_BATCH_SIZE = 200 + + restrict_gitlab_migration gitlab_schema: :gitlab_main + + def up + queue_batched_background_migration( + MIGRATION, + :project_group_links, + :id, + job_interval: DELAY_INTERVAL, + batch_size: BATCH_SIZE, + max_batch_size: MAX_BATCH_SIZE, + sub_batch_size: SUB_BATCH_SIZE + ) + end + + def down + delete_batched_background_migration(MIGRATION, :project_group_links, :id, []) + end +end diff --git a/db/post_migrate/20230403085957_add_tmp_partial_index_on_vulnerability_report_types2.rb b/db/post_migrate/20230403085957_add_tmp_partial_index_on_vulnerability_report_types2.rb new file mode 100644 index 00000000000..e37d197ad6d --- /dev/null +++ b/db/post_migrate/20230403085957_add_tmp_partial_index_on_vulnerability_report_types2.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class AddTmpPartialIndexOnVulnerabilityReportTypes2 < Gitlab::Database::Migration[2.1] + INDEX_NAME = 'tmp_idx_vulnerability_occurrences_on_id_where_report_type_7_99' + CLAUSE = 'report_type IN (7, 99)' + + def up + return if index_exists?(:vulnerability_occurrences, :id, name: INDEX_NAME) + + # Temporary index to be removed in 16.1 https://gitlab.com/gitlab-org/gitlab/-/issues/404408 + prepare_async_index :vulnerability_occurrences, :id, where: CLAUSE, name: INDEX_NAME + end + + def down + unprepare_async_index :vulnerability_occurrences, :id, name: INDEX_NAME + end +end diff --git a/db/post_migrate/20230404050414_remove_unused_merge_request_jira_indexes.rb b/db/post_migrate/20230404050414_remove_unused_merge_request_jira_indexes.rb new file mode 100644 index 00000000000..619fd326d7a --- /dev/null +++ b/db/post_migrate/20230404050414_remove_unused_merge_request_jira_indexes.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +class RemoveUnusedMergeRequestJiraIndexes < Gitlab::Database::Migration[2.1] + TITLE_INDEX = { + name: 'index_merge_requests_on_target_project_id_and_iid_jira_title', + where: "((title)::text ~ '[A-Z][A-Z_0-9]+-\d+'::text)" + }.freeze + + DESCRIPTION_INDEX = { + name: 'index_merge_requests_on_target_project_id_iid_jira_description', + where: "(description ~ '[A-Z][A-Z_0-9]+-\d+'::text)" + }.freeze + + disable_ddl_transaction! + + def up + remove_concurrent_index_by_name :merge_requests, name: TITLE_INDEX[:name] + remove_concurrent_index_by_name :merge_requests, name: DESCRIPTION_INDEX[:name] + end + + def down + add_concurrent_index :merge_requests, [:target_project_id, :iid], + where: TITLE_INDEX[:where], + name: TITLE_INDEX[:name] + add_concurrent_index :merge_requests, [:target_project_id, :iid], + where: DESCRIPTION_INDEX[:where], + name: DESCRIPTION_INDEX[:name] + end +end diff --git a/db/schema_migrations/20230207002330 b/db/schema_migrations/20230207002330 new file mode 100644 index 00000000000..db78201d180 --- /dev/null +++ b/db/schema_migrations/20230207002330 @@ -0,0 +1 @@ +a1603460eec138b911b3535e66d7a064ff4f2cb6216aabfcf5f39e013db05445
\ No newline at end of file diff --git a/db/schema_migrations/20230209222452 b/db/schema_migrations/20230209222452 new file mode 100644 index 00000000000..74d791246e7 --- /dev/null +++ b/db/schema_migrations/20230209222452 @@ -0,0 +1 @@ +2d08ac0d8375a495212a55be1655cc70405bc722b152e3fa80c4609b3fb4c29c
\ No newline at end of file diff --git a/db/schema_migrations/20230403085957 b/db/schema_migrations/20230403085957 new file mode 100644 index 00000000000..6789a0a83a5 --- /dev/null +++ b/db/schema_migrations/20230403085957 @@ -0,0 +1 @@ +731cdc55c22cfcfc6f23e59a7c051385a66259bb10f4b7dd22da21ee228357d2
\ No newline at end of file diff --git a/db/schema_migrations/20230404050414 b/db/schema_migrations/20230404050414 new file mode 100644 index 00000000000..eed37e4fbed --- /dev/null +++ b/db/schema_migrations/20230404050414 @@ -0,0 +1 @@ +919044fa4eca645e32496135af44cd01b5299413cea4dcd243a37ec144806e2f
\ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index d26046b2788..0266b37c320 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -31074,8 +31074,6 @@ CREATE UNIQUE INDEX index_merge_requests_on_target_project_id_and_iid ON merge_r CREATE INDEX index_merge_requests_on_target_project_id_and_iid_and_state_id ON merge_requests USING btree (target_project_id, iid, state_id); -CREATE INDEX index_merge_requests_on_target_project_id_and_iid_jira_title ON merge_requests USING btree (target_project_id, iid) WHERE ((title)::text ~ '[A-Z][A-Z_0-9]+-\d+'::text); - CREATE INDEX index_merge_requests_on_target_project_id_and_source_branch ON merge_requests USING btree (target_project_id, source_branch); CREATE INDEX index_merge_requests_on_target_project_id_and_squash_commit_sha ON merge_requests USING btree (target_project_id, squash_commit_sha); @@ -31084,8 +31082,6 @@ CREATE INDEX index_merge_requests_on_target_project_id_and_target_branch ON merg CREATE INDEX index_merge_requests_on_target_project_id_and_updated_at_and_id ON merge_requests USING btree (target_project_id, updated_at, id); -CREATE INDEX index_merge_requests_on_target_project_id_iid_jira_description ON merge_requests USING btree (target_project_id, iid) WHERE (description ~ '[A-Z][A-Z_0-9]+-\d+'::text); - CREATE INDEX index_merge_requests_on_title_trigram ON merge_requests USING gin (title gin_trgm_ops) WITH (fastupdate='false'); CREATE INDEX index_merge_requests_on_tp_id_and_merge_commit_sha_and_id ON merge_requests USING btree (target_project_id, merge_commit_sha, id); @@ -34405,6 +34401,9 @@ ALTER TABLE ONLY geo_event_log ALTER TABLE ONLY user_namespace_callouts ADD CONSTRAINT fk_27a69fd1bd FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE; +ALTER TABLE ONLY project_group_links + ADD CONSTRAINT fk_28a1244b01 FOREIGN KEY (group_id) REFERENCES namespaces(id) ON DELETE CASCADE NOT VALID; + ALTER TABLE ONLY merge_requests_compliance_violations ADD CONSTRAINT fk_290ec1ab02 FOREIGN KEY (merge_request_id) REFERENCES merge_requests(id) ON DELETE CASCADE; |