diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2024-01-16 13:42:19 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2024-01-16 13:42:19 +0300 |
commit | 84d1bd786125c1c14a3ba5f63e38a4cc736a9027 (patch) | |
tree | f550fa965f507077e20dbb6d61a8269a99ef7107 /db/post_migrate/20231220115201_add_color_work_item_widget.rb | |
parent | 3a105e36e689f7b75482236712f1a47fd5a76814 (diff) |
Add latest changes from gitlab-org/gitlab@16-8-stable-eev16.8.0-rc42
Diffstat (limited to 'db/post_migrate/20231220115201_add_color_work_item_widget.rb')
-rw-r--r-- | db/post_migrate/20231220115201_add_color_work_item_widget.rb | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/db/post_migrate/20231220115201_add_color_work_item_widget.rb b/db/post_migrate/20231220115201_add_color_work_item_widget.rb new file mode 100644 index 00000000000..eb410cb8b0b --- /dev/null +++ b/db/post_migrate/20231220115201_add_color_work_item_widget.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +class AddColorWorkItemWidget < Gitlab::Database::Migration[2.2] + milestone '16.8' + + class WorkItemType < MigrationRecord + self.table_name = 'work_item_types' + end + + class WidgetDefinition < MigrationRecord + self.table_name = 'work_item_widget_definitions' + end + + restrict_gitlab_migration gitlab_schema: :gitlab_main + disable_ddl_transaction! + + WIDGET_NAME = 'Color' + WIDGET_ENUM_VALUE = 18 + WORK_ITEM_TYPE = 'Epic' + + def up + type = WorkItemType.find_by_name_and_namespace_id(WORK_ITEM_TYPE, nil) + + unless type + Gitlab::AppLogger.warn("type #{WORK_ITEM_TYPE} is missing, not adding widget") + return + end + + widget = { + work_item_type_id: type.id, + name: WIDGET_NAME, + widget_type: WIDGET_ENUM_VALUE + } + + WidgetDefinition.upsert_all( + [widget], + unique_by: :index_work_item_widget_definitions_on_default_witype_and_name + ) + end + + def down + WidgetDefinition.where(name: WIDGET_NAME).delete_all + end +end |