Database migration for caching has_confluence on project_settings
What does this MR do?
This change adds a new boolean column to project_settings to allow caching the status of the new confluence integration as has_confluence.
This follows the same pattern as two other integrations that have has_{x} cache columns on projects (has_external_wiki and has_external_issue_tracker). As all of these integrations are tested for to help build the side nav links on each project page on GitLab, the caching of the integration is a performance optimisation.
The new has_confluence property is unable to be added to projects, like the other has_{x} columns, as we are not allowed to migrate new columns to projects due to its width.
- Issue: #220934 (closed)
Migrations
Output
Up
== 20200619000316 AddHasConfluenceToProjectSettings: migrating ================
-- add_column(:project_settings, :has_confluence, :boolean, {:default=>false, :null=>false})
-> 0.0028s
== 20200619000316 AddHasConfluenceToProjectSettings: migrated (0.0058s) =======
Down
== 20200619000316 AddHasConfluenceToProjectSettings: reverting ================
-- remove_column(:project_settings, :has_confluence)
-> 0.0026s
== 20200619000316 AddHasConfluenceToProjectSettings: reverted (0.0084s) =======
Rollback
bundle exec rake db:migrate:down VERSION=20200619000316
Does this MR meet the acceptance criteria?
Conformity
Edited by Luke Duncalfe