From e269e639ae487c5285510f2c3a0950896aeb598a Mon Sep 17 00:00:00 2001 From: lyb124553153 <124553153@qq.com> Date: Thu, 27 Oct 2022 20:43:38 +0800 Subject: [PATCH 1/2] Add 'mirror_branch_regex' to 'project_settings' and 'remote_mirrors' Add column 'mirror_branch_regex' to 'project_settings' and 'remote_mirrors' for allow specific branches to be mirrored Changelog: added --- ...0_add_mirror_branch_regex_to_remote_mirrors.rb | 15 +++++++++++++++ ...add_mirror_branch_regex_to_project_settings.rb | 15 +++++++++++++++ db/schema_migrations/20220919062640 | 1 + db/schema_migrations/20220926023734 | 1 + db/structure.sql | 6 +++++- spec/requests/api/project_attributes.yml | 1 + 6 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20220919062640_add_mirror_branch_regex_to_remote_mirrors.rb create mode 100644 db/migrate/20220926023734_add_mirror_branch_regex_to_project_settings.rb create mode 100644 db/schema_migrations/20220919062640 create mode 100644 db/schema_migrations/20220926023734 diff --git a/db/migrate/20220919062640_add_mirror_branch_regex_to_remote_mirrors.rb b/db/migrate/20220919062640_add_mirror_branch_regex_to_remote_mirrors.rb new file mode 100644 index 00000000000000..0f27ba9488be08 --- /dev/null +++ b/db/migrate/20220919062640_add_mirror_branch_regex_to_remote_mirrors.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class AddMirrorBranchRegexToRemoteMirrors < Gitlab::Database::Migration[2.0] + disable_ddl_transaction! + + def up + add_column :remote_mirrors, :mirror_branch_regex, :text + add_text_limit :remote_mirrors, :mirror_branch_regex, 255 + end + + def down + remove_text_limit :remote_mirrors, :mirror_branch_regex + remove_column :remote_mirrors, :mirror_branch_regex + end +end diff --git a/db/migrate/20220926023734_add_mirror_branch_regex_to_project_settings.rb b/db/migrate/20220926023734_add_mirror_branch_regex_to_project_settings.rb new file mode 100644 index 00000000000000..c19d2dc3bc41ed --- /dev/null +++ b/db/migrate/20220926023734_add_mirror_branch_regex_to_project_settings.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class AddMirrorBranchRegexToProjectSettings < Gitlab::Database::Migration[2.0] + disable_ddl_transaction! + + def up + add_column :project_settings, :mirror_branch_regex, :text + add_text_limit :project_settings, :mirror_branch_regex, 255 + end + + def down + remove_text_limit :project_settings, :mirror_branch_regex + remove_column :project_settings, :mirror_branch_regex + end +end diff --git a/db/schema_migrations/20220919062640 b/db/schema_migrations/20220919062640 new file mode 100644 index 00000000000000..0284cadd6d6bc5 --- /dev/null +++ b/db/schema_migrations/20220919062640 @@ -0,0 +1 @@ +6b4e0ed9d29ace12f6ae1d4b8177ef998f9a5a3915cca80fa546a9f90ccde887 \ No newline at end of file diff --git a/db/schema_migrations/20220926023734 b/db/schema_migrations/20220926023734 new file mode 100644 index 00000000000000..2fd1175b02d056 --- /dev/null +++ b/db/schema_migrations/20220926023734 @@ -0,0 +1 @@ +efa3d1c94b5de9c68ae3d007e95bbbae9582f4354e922b00a02ff5753dbe4d05 \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index e23b88fe4fd61f..5f195331eee664 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -20195,9 +20195,11 @@ CREATE TABLE project_settings ( jitsu_key text, suggested_reviewers_enabled boolean DEFAULT false NOT NULL, only_allow_merge_if_all_status_checks_passed boolean DEFAULT false NOT NULL, + mirror_branch_regex text, CONSTRAINT check_2981f15877 CHECK ((char_length(jitsu_key) <= 100)), CONSTRAINT check_3a03e7557a CHECK ((char_length(previous_default_branch) <= 4096)), CONSTRAINT check_3ca5cbffe6 CHECK ((char_length(issue_branch_template) <= 255)), + CONSTRAINT check_67292e4b99 CHECK ((char_length(mirror_branch_regex) <= 255)), CONSTRAINT check_b09644994b CHECK ((char_length(squash_commit_template) <= 500)), CONSTRAINT check_bde223416c CHECK ((show_default_award_emojis IS NOT NULL)), CONSTRAINT check_eaf7cfb6a7 CHECK ((char_length(merge_commit_template) <= 500)) @@ -20775,7 +20777,9 @@ CREATE TABLE remote_mirrors ( only_protected_branches boolean DEFAULT false NOT NULL, remote_name character varying, error_notification_sent boolean, - keep_divergent_refs boolean + keep_divergent_refs boolean, + mirror_branch_regex text, + CONSTRAINT check_aa6b497785 CHECK ((char_length(mirror_branch_regex) <= 255)) ); CREATE SEQUENCE remote_mirrors_id_seq diff --git a/spec/requests/api/project_attributes.yml b/spec/requests/api/project_attributes.yml index 0b4a96896d6b39..2ff4cd72f1ea4e 100644 --- a/spec/requests/api/project_attributes.yml +++ b/spec/requests/api/project_attributes.yml @@ -162,6 +162,7 @@ project_setting: - show_diff_preview_in_email - suggested_reviewers_enabled - jitsu_key + - mirror_branch_regex build_service_desk_setting: # service_desk_setting unexposed_attributes: -- GitLab From 736ca37c511c485e2f4cd3645ee3b5fef39faa67 Mon Sep 17 00:00:00 2001 From: lyb124553153 <124553153@qq.com> Date: Thu, 27 Oct 2022 20:51:53 +0800 Subject: [PATCH 2/2] Spilt add mirror_branch_regex to two migration --- ...4_add_mirror_branch_regex_to_project_settings.rb | 13 +++++-------- ...limit_to_project_settings_mirror_branch_regex.rb | 13 +++++++++++++ db/schema_migrations/20221027124848 | 1 + 3 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 db/migrate/20221027124848_add_text_limit_to_project_settings_mirror_branch_regex.rb create mode 100644 db/schema_migrations/20221027124848 diff --git a/db/migrate/20220926023734_add_mirror_branch_regex_to_project_settings.rb b/db/migrate/20220926023734_add_mirror_branch_regex_to_project_settings.rb index c19d2dc3bc41ed..5032a9ff964b4c 100644 --- a/db/migrate/20220926023734_add_mirror_branch_regex_to_project_settings.rb +++ b/db/migrate/20220926023734_add_mirror_branch_regex_to_project_settings.rb @@ -1,15 +1,12 @@ # frozen_string_literal: true class AddMirrorBranchRegexToProjectSettings < Gitlab::Database::Migration[2.0] - disable_ddl_transaction! + enable_lock_retries! - def up + # rubocop:disable Migration/AddLimitToTextColumns + # limit is added in 20221027124848_add_text_limit_to_project_settings_mirror_branch_regex.rb + def change add_column :project_settings, :mirror_branch_regex, :text - add_text_limit :project_settings, :mirror_branch_regex, 255 - end - - def down - remove_text_limit :project_settings, :mirror_branch_regex - remove_column :project_settings, :mirror_branch_regex end + # rubocop:enable Migration/AddLimitToTextColumns end diff --git a/db/migrate/20221027124848_add_text_limit_to_project_settings_mirror_branch_regex.rb b/db/migrate/20221027124848_add_text_limit_to_project_settings_mirror_branch_regex.rb new file mode 100644 index 00000000000000..e87eb20720486a --- /dev/null +++ b/db/migrate/20221027124848_add_text_limit_to_project_settings_mirror_branch_regex.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +class AddTextLimitToProjectSettingsMirrorBranchRegex < Gitlab::Database::Migration[2.0] + disable_ddl_transaction! + + def up + add_text_limit :project_settings, :mirror_branch_regex, 255 + end + + def down + remove_text_limit :project_settings, :mirror_branch_regex + end +end diff --git a/db/schema_migrations/20221027124848 b/db/schema_migrations/20221027124848 new file mode 100644 index 00000000000000..249e4e4b83fb68 --- /dev/null +++ b/db/schema_migrations/20221027124848 @@ -0,0 +1 @@ +108dec45cbed3651aec46636a3009cb18296d0fa0ca720774dc2105123955dfd \ No newline at end of file -- GitLab