From 088ff4b6c61aaebab446b5a5166c965685315ceb Mon Sep 17 00:00:00 2001 From: Luke Duncalfe Date: Mon, 29 Jun 2020 14:22:42 +1200 Subject: [PATCH 1/2] Database migration for caching has_confluence Similar to other integrations that are tested for on the side nav, (`has_external_wiki` and `has_external_issue_tracker`) this change adds a new boolean column to `projects` to allow caching the status of the new confluence integration directly on the project as `has_confluence`. https://gitlab.com/gitlab-org/gitlab/-/issues/220934 --- .../unreleased/220934-confluence-wiki-db.yml | 5 +++++ ...19000316_add_has_confluence_to_projects.rb | 19 +++++++++++++++++++ db/structure.sql | 4 +++- .../import_export/safe_model_attributes.yml | 1 + 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/220934-confluence-wiki-db.yml create mode 100644 db/migrate/20200619000316_add_has_confluence_to_projects.rb diff --git a/changelogs/unreleased/220934-confluence-wiki-db.yml b/changelogs/unreleased/220934-confluence-wiki-db.yml new file mode 100644 index 00000000000000..ab76798d95fecf --- /dev/null +++ b/changelogs/unreleased/220934-confluence-wiki-db.yml @@ -0,0 +1,5 @@ +--- +title: Database migration to add projects.has_confluence +merge_request: 35485 +author: +type: other diff --git a/db/migrate/20200619000316_add_has_confluence_to_projects.rb b/db/migrate/20200619000316_add_has_confluence_to_projects.rb new file mode 100644 index 00000000000000..f1fc95a4c18222 --- /dev/null +++ b/db/migrate/20200619000316_add_has_confluence_to_projects.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class AddHasConfluenceToProjects < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def up + with_lock_retries do + add_column :projects, :has_confluence, :boolean, default: false, null: false + end + end + + def down + with_lock_retries do + remove_column :projects, :has_confluence + end + end +end diff --git a/db/structure.sql b/db/structure.sql index e88a5f3333dc1d..08d7e0f55ddbb8 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -14317,7 +14317,8 @@ CREATE TABLE public.projects ( marked_for_deletion_at date, marked_for_deletion_by_user_id integer, autoclose_referenced_issues boolean, - suggestion_commit_message character varying(255) + suggestion_commit_message character varying(255), + has_confluence boolean DEFAULT false NOT NULL ); CREATE SEQUENCE public.projects_id_seq @@ -23515,6 +23516,7 @@ COPY "schema_migrations" (version) FROM STDIN; 20200618105638 20200618134223 20200618134723 +20200619000316 20200619154527 20200619154528 20200622040750 diff --git a/spec/lib/gitlab/import_export/safe_model_attributes.yml b/spec/lib/gitlab/import_export/safe_model_attributes.yml index 0d112bfdb2a20f..9dd76fc7a39d2c 100644 --- a/spec/lib/gitlab/import_export/safe_model_attributes.yml +++ b/spec/lib/gitlab/import_export/safe_model_attributes.yml @@ -554,6 +554,7 @@ Project: - has_external_issue_tracker - request_access_enabled - has_external_wiki +- has_confluence - only_allow_merge_if_all_discussions_are_resolved - remove_source_branch_after_merge - auto_cancel_pending_pipelines -- GitLab From b24164f8f5f8a9fbbc9a0d6ad4b8b5531b8347be Mon Sep 17 00:00:00 2001 From: Luke Duncalfe Date: Thu, 2 Jul 2020 17:15:32 +1200 Subject: [PATCH 2/2] Move has_confluence migration to project_settings https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35485 --- .../unreleased/220934-confluence-wiki-db.yml | 2 +- ..._add_has_confluence_to_project_settings.rb | 19 +++++++++++++++++++ ...19000316_add_has_confluence_to_projects.rb | 19 ------------------- db/structure.sql | 4 ++-- .../import_export/safe_model_attributes.yml | 2 +- 5 files changed, 23 insertions(+), 23 deletions(-) create mode 100644 db/migrate/20200619000316_add_has_confluence_to_project_settings.rb delete mode 100644 db/migrate/20200619000316_add_has_confluence_to_projects.rb diff --git a/changelogs/unreleased/220934-confluence-wiki-db.yml b/changelogs/unreleased/220934-confluence-wiki-db.yml index ab76798d95fecf..6c2c8be64f2836 100644 --- a/changelogs/unreleased/220934-confluence-wiki-db.yml +++ b/changelogs/unreleased/220934-confluence-wiki-db.yml @@ -1,5 +1,5 @@ --- -title: Database migration to add projects.has_confluence +title: Database migration to add project_settings.has_confluence merge_request: 35485 author: type: other diff --git a/db/migrate/20200619000316_add_has_confluence_to_project_settings.rb b/db/migrate/20200619000316_add_has_confluence_to_project_settings.rb new file mode 100644 index 00000000000000..0f33e0bc47ac9e --- /dev/null +++ b/db/migrate/20200619000316_add_has_confluence_to_project_settings.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class AddHasConfluenceToProjectSettings < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def up + with_lock_retries do + add_column :project_settings, :has_confluence, :boolean, default: false, null: false + end + end + + def down + with_lock_retries do + remove_column :project_settings, :has_confluence + end + end +end diff --git a/db/migrate/20200619000316_add_has_confluence_to_projects.rb b/db/migrate/20200619000316_add_has_confluence_to_projects.rb deleted file mode 100644 index f1fc95a4c18222..00000000000000 --- a/db/migrate/20200619000316_add_has_confluence_to_projects.rb +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -class AddHasConfluenceToProjects < ActiveRecord::Migration[6.0] - include Gitlab::Database::MigrationHelpers - - DOWNTIME = false - - def up - with_lock_retries do - add_column :projects, :has_confluence, :boolean, default: false, null: false - end - end - - def down - with_lock_retries do - remove_column :projects, :has_confluence - end - end -end diff --git a/db/structure.sql b/db/structure.sql index 08d7e0f55ddbb8..527359959a2ddd 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -14190,6 +14190,7 @@ CREATE TABLE public.project_settings ( show_default_award_emojis boolean DEFAULT true, allow_merge_on_skipped_pipeline boolean, squash_option smallint DEFAULT 3, + has_confluence boolean DEFAULT false NOT NULL, CONSTRAINT check_bde223416c CHECK ((show_default_award_emojis IS NOT NULL)) ); @@ -14317,8 +14318,7 @@ CREATE TABLE public.projects ( marked_for_deletion_at date, marked_for_deletion_by_user_id integer, autoclose_referenced_issues boolean, - suggestion_commit_message character varying(255), - has_confluence boolean DEFAULT false NOT NULL + suggestion_commit_message character varying(255) ); CREATE SEQUENCE public.projects_id_seq diff --git a/spec/lib/gitlab/import_export/safe_model_attributes.yml b/spec/lib/gitlab/import_export/safe_model_attributes.yml index 9dd76fc7a39d2c..395eda1754f193 100644 --- a/spec/lib/gitlab/import_export/safe_model_attributes.yml +++ b/spec/lib/gitlab/import_export/safe_model_attributes.yml @@ -554,7 +554,6 @@ Project: - has_external_issue_tracker - request_access_enabled - has_external_wiki -- has_confluence - only_allow_merge_if_all_discussions_are_resolved - remove_source_branch_after_merge - auto_cancel_pending_pipelines @@ -706,6 +705,7 @@ ProjectCiCdSetting: - group_runners_enabled ProjectSetting: - allow_merge_on_skipped_pipeline +- has_confluence ProtectedEnvironment: - id - project_id -- GitLab