Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2024-11-27 12:16:23 +00:00
parent de0a1696ba
commit fdcfcb29db
352 changed files with 1081 additions and 3796 deletions

View File

@ -66,7 +66,7 @@ db:rollback:
- .db-job-base
- .rails:rules:db-rollback
script:
- bundle exec rake db:migrate VERSION=20230721095222 # First 16-4-stable-ee migration
- bundle exec rake db:migrate VERSION=20230721095222 # First 16-5-stable-ee migration
- bundle exec rake db:migrate
db:rollback single-db:

View File

@ -3244,7 +3244,6 @@ Gitlab/BoundedContexts:
- 'ee/app/services/epics/epic_links/list_service.rb'
- 'ee/app/services/epics/epic_links/update_service.rb'
- 'ee/app/services/epics/issue_promote_service.rb'
- 'ee/app/services/epics/related_epic_links/create_service.rb'
- 'ee/app/services/epics/related_epic_links/destroy_service.rb'
- 'ee/app/services/epics/related_epic_links/list_service.rb'
- 'ee/app/services/epics/reopen_service.rb'

View File

@ -46,7 +46,6 @@ Layout/LineBreakAfterFinalMixin:
- 'app/workers/user_status_cleanup/batch_worker.rb'
- 'app/workers/users/create_statistics_worker.rb'
- 'db/migrate/20240213223630_add_duo_features_enabled_cascading_setting.rb'
- 'db/post_migrate/20231017064317_swap_columns_for_ci_pipeline_variables_pipeline_id_bigint.rb'
- 'db/post_migrate/20231122111935_drop_index_web_hook_logs_part_on_web_hook_id.rb'
- 'db/post_migrate/20240122071840_ensure_backfill_for_ci_builds_integer_columns_is_finished.rb'
- 'db/post_migrate/20240419122328_swap_vulnerability_feedback_pipeline_id_convert_to_bigint.rb'

View File

@ -1762,7 +1762,6 @@ Layout/LineLength:
- 'ee/spec/services/elastic/process_initial_bookkeeping_service_spec.rb'
- 'ee/spec/services/epic_issues/create_service_spec.rb'
- 'ee/spec/services/epics/issue_promote_service_spec.rb'
- 'ee/spec/services/epics/related_epic_links/create_service_spec.rb'
- 'ee/spec/services/epics/update_service_spec.rb'
- 'ee/spec/services/external_status_checks/update_service_spec.rb'
- 'ee/spec/services/geo/blob_download_service_spec.rb'

View File

@ -235,7 +235,6 @@ Lint/UnusedMethodArgument:
- 'ee/app/services/audit_events/runners_token_audit_event_service.rb'
- 'ee/app/services/boards/epic_lists/update_service.rb'
- 'ee/app/services/concerns/incident_management/oncall_rotations/shared_rotation_logic.rb'
- 'ee/app/services/epics/related_epic_links/create_service.rb'
- 'ee/app/services/epics/transfer_service.rb'
- 'ee/app/services/group_saml/identity/destroy_service.rb'
- 'ee/app/services/projects/update_mirror_service.rb'

View File

@ -1,15 +1,10 @@
---
Migration/EnsureFactoryForTable:
Exclude:
- 'db/migrate/20230915103259_create_ci_finished_build_ch_sync_events.rb'
- 'db/migrate/20230926092914_add_approval_group_rules.rb'
- 'db/migrate/20230926092944_add_approval_group_rules_groups.rb'
- 'db/migrate/20230926093004_add_approval_group_rules_users.rb'
- 'db/migrate/20230926093025_add_approval_group_rules_protected_branches.rb'
- 'db/migrate/20230926133801_create_value_stream_analytics_settings.rb'
- 'db/migrate/20230930094139_add_related_link_restrictions.rb'
- 'db/migrate/20231003073437_create_abuse_report_user_mentions.rb'
- 'db/migrate/20231004100000_create_container_registry_protection_rules.rb'
- 'db/migrate/20231017095738_create_activity_pub_releases_subscriptions.rb'
- 'db/migrate/20231017134349_create_ml_model_metadata.rb'
- 'db/migrate/20231020095624_create_audit_events_streaming_http_group_namespace_filters.rb'

View File

@ -567,7 +567,6 @@ RSpec/BeforeAllRoleAssignment:
- 'ee/spec/services/epics/create_service_spec.rb'
- 'ee/spec/services/epics/epic_links/create_service_spec.rb'
- 'ee/spec/services/epics/issue_promote_service_spec.rb'
- 'ee/spec/services/epics/related_epic_links/create_service_spec.rb'
- 'ee/spec/services/epics/related_epic_links/list_service_spec.rb'
- 'ee/spec/services/epics/reopen_service_spec.rb'
- 'ee/spec/services/epics/transfer_service_spec.rb'

View File

@ -665,7 +665,6 @@ RSpec/ContextWording:
- 'ee/spec/services/epic_issues/update_service_spec.rb'
- 'ee/spec/services/epics/create_service_spec.rb'
- 'ee/spec/services/epics/epic_links/list_service_spec.rb'
- 'ee/spec/services/epics/related_epic_links/create_service_spec.rb'
- 'ee/spec/services/epics/related_epic_links/destroy_service_spec.rb'
- 'ee/spec/services/epics/update_service_spec.rb'
- 'ee/spec/services/external_status_checks/dispatch_service_spec.rb'

View File

@ -102,7 +102,6 @@ RSpec/ExpectChange:
- 'ee/spec/services/elastic/indexing_control_service_spec.rb'
- 'ee/spec/services/epic_issues/create_service_spec.rb'
- 'ee/spec/services/epics/issue_promote_service_spec.rb'
- 'ee/spec/services/epics/related_epic_links/create_service_spec.rb'
- 'ee/spec/services/epics/transfer_service_spec.rb'
- 'ee/spec/services/geo/container_repository_registry_removal_service_spec.rb'
- 'ee/spec/services/geo/file_registry_removal_service_spec.rb'

View File

@ -158,7 +158,6 @@ RSpec/ReceiveMessages:
- 'ee/spec/services/ee/spam/spam_verdict_service_spec.rb'
- 'ee/spec/services/ee/work_items/related_work_item_links/create_service_spec.rb'
- 'ee/spec/services/epic_issues/create_service_spec.rb'
- 'ee/spec/services/epics/related_epic_links/create_service_spec.rb'
- 'ee/spec/services/geo/container_repository_sync_spec.rb'
- 'ee/spec/services/geo/framework_repository_sync_service_spec.rb'
- 'ee/spec/services/gitlab_subscriptions/create_service_spec.rb'

View File

@ -32,7 +32,6 @@ Style/HashEachMethods:
- 'app/services/security/merge_reports_service.rb'
- 'config/initializers/6_validations.rb'
- 'config/initializers/8_gitaly.rb'
- 'db/post_migrate/20230906102738_sync_index_for_ci_sources_pipelines_pipeline_id_bigint.rb'
- 'db/post_migrate/20240422070036_swap_ci_pipelines_pk_with_bigint_p_ci_builds_p_ci_stages.rb'
- 'ee/app/graphql/types/compliance_management/merge_requests/compliance_violation_reason_enum.rb'
- 'ee/app/graphql/types/compliance_management/merge_requests/compliance_violation_severity_enum.rb'

View File

@ -998,19 +998,10 @@ Style/InlineDisableAnnotation:
- 'config/routes/project.rb'
- 'danger/ce_ee_vue_templates/Dangerfile'
- 'danger/roulette/Dangerfile'
- 'db/migrate/20230915103259_create_ci_finished_build_ch_sync_events.rb'
- 'db/migrate/20230917144717_add_package_name_pattern_query_to_packages_protection_rule.rb'
- 'db/migrate/20230921081527_add_queued_migration_version_to_batched_background_migrations.rb'
- 'db/migrate/20231017135207_add_fields_to_ml_model.rb'
- 'db/migrate/20231019180421_add_name_description_to_catalog_resources.rb'
- 'db/migrate/20231024142236_add_fields_to_bulk_import_failures.rb'
- 'db/post_migrate/20230908033511_swap_columns_for_ci_pipeline_chat_data_pipeline_id_bigint.rb'
- 'db/post_migrate/20230924134453_cleanup_uuid_type_migration_on_vulnerability_occurrences.rb'
- 'db/post_migrate/20231003045342_migrate_sidekiq_namespaced_jobs.rb'
- 'db/post_migrate/20231003142534_add_build_timeout_index.rb'
- 'db/post_migrate/20231005131445_add_work_items_related_link_restrictions.rb'
- 'db/post_migrate/20231009105056_index_users_on_email_domain_and_id.rb'
- 'db/post_migrate/20231017172156_add_index_on_projects_for_adjourned_deletion.rb'
- 'db/post_migrate/20231018083247_remove_users_email_opted_in_columns.rb'
- 'ee/app/controllers/admin/application_settings/scim_oauth_controller.rb'
- 'ee/app/controllers/admin/emails_controller.rb'

View File

@ -1 +1 @@
9a94e7c7c19fce3afb5c36d045195c06e50ce3ca
76e33b6eb327e8ab10102c2d332a40f4fdc3a4b5

View File

@ -1 +1 @@
2f84f1083ebc22f6efe3ab00355ef5170bcbc142
14515d822147fed159ea9d11ab04f097630ef075

View File

@ -87,7 +87,7 @@ export default {
{{ s__('ValueStreamEvent|Only items that reached their stop event.') }}
</div>
</div>
<div class="gl-border-t-1 gl-border-gray-50 gl-px-4 gl-pt-4 gl-border-t-solid">
<div class="gl-border-t-1 gl-border-subtle gl-px-4 gl-pt-4 gl-border-t-solid">
<div v-if="pathItem.startEventHtmlDescription" class="gl-flex gl-flex-row">
<div class="metric-label gl-flex gl-flex-col gl-pb-3 gl-pr-4">
{{ s__('ValueStreamEvent|Start') }}

View File

@ -11,7 +11,7 @@ export default {
<template>
<div
class="board-card-skeleton gl-mb-3 gl-rounded-base gl-border-1 gl-border-solid gl-border-gray-50 gl-bg-white gl-p-5"
class="board-card-skeleton gl-mb-3 gl-rounded-base gl-border-1 gl-border-solid gl-border-subtle gl-bg-white gl-p-5"
>
<div class="board-card-skeleton-inner">
<gl-skeleton-loader :width="340" :height="100">

View File

@ -95,36 +95,36 @@ export default {
@updateVariables="$emit('updateVariables')"
/>
<job-sidebar-details-container class="gl-border-b gl-border-gray-50 gl-py-4" />
<job-sidebar-details-container class="gl-border-b gl-border-subtle gl-py-4" />
<artifacts-block
v-if="hasArtifact"
class="gl-border-b gl-border-gray-50 gl-py-4"
class="gl-border-b gl-border-subtle gl-py-4"
:artifact="artifact"
:help-url="artifactHelpUrl"
/>
<external-links-block
v-if="hasExternalLinks"
class="gl-border-b gl-border-gray-50 gl-py-4"
class="gl-border-b gl-border-subtle gl-py-4"
:external-links="externalLinks"
/>
<trigger-block
v-if="hasTriggers"
class="gl-border-b gl-border-gray-50 gl-py-4"
class="gl-border-b gl-border-subtle gl-py-4"
:trigger="job.trigger"
/>
<commit-block
class="gl-border-b gl-border-gray-50 gl-py-4"
class="gl-border-b gl-border-subtle gl-py-4"
:commit="commit"
:merge-request="job.merge_request"
/>
<stages-dropdown
v-if="job.pipeline"
class="gl-border-b gl-border-gray-50 gl-py-4"
class="gl-border-b gl-border-subtle gl-py-4"
:pipeline="job.pipeline"
:selected-stage="selectedStage"
:stages="stages"

View File

@ -31,7 +31,7 @@ Vue.use(IdeRouter);
// Unfortunately Vue Router doesn't work without at least a fake component
// If you do only data handling
const EmptyRouterComponent = {
export const EmptyRouterComponent = {
render(createElement) {
return createElement('div');
},

View File

@ -81,7 +81,7 @@ export default {
data-testid="export-issuable-modal"
>
<div
class="gl-items-center gl-justify-start gl-border-1 gl-border-gray-50 gl-p-4 gl-border-b-solid"
class="gl-items-center gl-justify-start gl-border-1 gl-border-subtle gl-p-4 gl-border-b-solid"
>
<gl-icon name="check" class="gl-color-green-400" />
<strong class="gl-m-3">{{ issuableCountText }}</strong>

View File

@ -116,7 +116,7 @@ export default {
</div>
<timeline-events-form
ref="eventForm"
:class="{ 'gl-border-t gl-border-gray-50 gl-pt-3': hasTimelineEvents }"
:class="{ 'gl-border-t gl-border-subtle gl-pt-3': hasTimelineEvents }"
:is-event-processed="createTimelineEventActive"
show-save-and-add
@save-event="createIncidentTimelineEvent"

View File

@ -173,7 +173,7 @@ export default {
</script>
<template>
<form class="gl-grow gl-border-gray-50">
<form class="gl-grow gl-border-subtle">
<div class="gl-mt-3 gl-flex gl-flex-col sm:gl-flex-row">
<gl-form-group :label="__('Date')" class="gl-mr-5">
<gl-datepicker id="incident-date" ref="datepicker" v-model="datePickerInput" />

View File

@ -138,7 +138,7 @@ export default {
class="timeline-group"
>
<h2
class="gl-my-0 gl-border-1 gl-border-gray-50 gl-py-5 gl-text-size-h2 gl-border-b-solid"
class="gl-my-0 gl-border-1 gl-border-subtle gl-py-5 gl-text-size-h2 gl-border-b-solid"
data-testid="event-date"
>
{{ eventDate }}

View File

@ -138,10 +138,10 @@ export default class Todos {
restoreBtn.classList.add('hidden');
doneBtn.classList.remove('hidden');
} else if (target === doneBtn) {
row.classList.add('done-reversible', 'gl-bg-gray-10', 'gl-border-gray-50');
row.classList.add('done-reversible', 'gl-bg-gray-10', 'gl-border-subtle');
restoreBtn.classList.remove('hidden');
} else if (target === restoreBtn) {
row.classList.remove('done-reversible', 'gl-bg-gray-10', 'gl-border-gray-50');
row.classList.remove('done-reversible', 'gl-bg-gray-10', 'gl-border-subtle');
doneBtn.classList.remove('hidden');
} else {
row.parentNode.removeChild(row);

View File

@ -158,7 +158,7 @@ export default {
iconBgClass,
{
'system-note-icon -gl-mt-1 gl-ml-2 gl-h-6 gl-w-6': isAllowedIcon,
'system-note-dot -gl-top-1 gl-ml-4 gl-mt-3 gl-h-3 gl-w-3 gl-border-2 gl-border-solid gl-border-gray-50 gl-bg-gray-900':
'system-note-dot -gl-top-1 gl-ml-4 gl-mt-3 gl-h-3 gl-w-3 gl-border-2 gl-border-solid gl-border-subtle gl-bg-gray-900':
!isAllowedIcon,
},
]"

View File

@ -126,7 +126,7 @@ export default {
getIconColor,
{
'system-note-icon -gl-mt-1 gl-ml-2 gl-h-6 gl-w-6': isAllowedIcon,
'system-note-dot -gl-top-1 gl-ml-4 gl-mt-3 gl-h-3 gl-w-3 gl-border-2 gl-border-solid gl-border-gray-50 gl-bg-gray-900':
'system-note-dot -gl-top-1 gl-ml-4 gl-mt-3 gl-h-3 gl-w-3 gl-border-2 gl-border-solid gl-border-subtle gl-bg-gray-900':
!isAllowedIcon,
},
]"

View File

@ -340,7 +340,7 @@ export default {
/>
<template v-if="workItemCrmContacts">
<work-item-crm-contacts
class="gl-border-t gl-mb-5 gl-border-gray-50 gl-pt-5"
class="gl-border-t gl-mb-5 gl-border-subtle gl-pt-5"
:full-path="fullPath"
:work-item-id="workItem.id"
:work-item-iid="workItem.iid"

View File

@ -83,7 +83,7 @@
&::after {
content: '';
position: absolute;
@apply gl-border-gray-50;
@apply gl-border-subtle;
@apply gl-border-1;
@apply gl-border-b-solid;
// Border spans the whole container minus icon width and grid gap

View File

@ -6,22 +6,22 @@ module Integrations
field :username,
title: -> { _('Username') },
help: -> { _('Enter your Packagist username.') },
help: -> { _('Username of a Packagist account.') },
placeholder: '',
required: true
field :token,
type: :password,
title: -> { _('Token') },
help: -> { _('Enter your Packagist token.') },
help: -> { _('API token of the Packagist server.') },
non_empty_password_title: -> { s_('ProjectService|Enter new token') },
non_empty_password_help: -> { s_('ProjectService|Leave blank to use your current token.') },
placeholder: '',
required: true
field :server,
title: -> { s_('Server (optional)') },
help: -> { s_('Enter your Packagist server. Defaults to https://packagist.org.') },
title: -> { _('Server (optional)') },
help: -> { _('URL of the Packagist server. The default value is `https://packagist.org`.') },
placeholder: 'https://packagist.org',
exposes_secrets: true,
required: false

View File

@ -9,6 +9,8 @@ class ProjectSetting < ApplicationRecord
belongs_to :project, inverse_of: :project_setting
ignore_column :pages_multiple_versions_enabled, remove_with: '17.9', remove_after: '2025-02-20'
scope :for_projects, ->(projects) { where(project_id: projects) }
scope :with_namespace, -> { joins(project: :namespace) }

View File

@ -1,4 +1,4 @@
%li.todo.gl-border-t.gl-border-gray-50.hover:gl-border-blue-200.hover:gl-bg-blue-50.hover:gl-cursor-pointer.gl-relative{ class: "hover:gl-z-1 todo-#{todo.done? ? 'done' : 'pending'}", id: dom_id(todo) }
%li.todo.gl-border-t.gl-border-subtle.hover:gl-border-blue-200.hover:gl-bg-blue-50.hover:gl-cursor-pointer.gl-relative{ class: "hover:gl-z-1 todo-#{todo.done? ? 'done' : 'pending'}", id: dom_id(todo) }
.gl-flex.gl-flex-col.sm:gl-flex-row.sm:gl-items-center
.todo-item.gl-overflow-hidden.gl-overflow-x-auto.gl-self-center.gl-w-full{ data: { testid: "todo-item-container" } }
.todo-title.gl-pt-2.gl-pb-3.gl-px-2.gl-md-mb-1.gl-text-sm.gl-text-subtle

View File

@ -20,16 +20,5 @@
%p.gl-pl-6
= s_("GitLabPages|When enabled, a unique domain is generated to access pages.").html_safe
- if can?(current_user, :pages_multiple_versions, @project)
.form-group
= f.fields_for :project_setting do |settings|
= settings.gitlab_ui_checkbox_component :pages_multiple_versions_enabled,
s_('GitLabPages|Enable parallel deployments'),
label_options: { class: 'label-bold' }
%p.gl-pl-6
= safe_format(s_("GitLabPages|When enabled, you can create parallel deployments of your pages site. %{docs_link_start}Learn more.%{link_end}"),
tag_pair(tag.a(href: help_page_path('user/project/pages/index.md', anchor: 'parallel-deployments'), target: '_blank'),
:docs_link_start, :link_end))
.gl-mt-3
= f.submit s_('GitLabPages|Save changes'), pajamas_button: true

View File

@ -7,7 +7,9 @@ identifiers:
- project
- user
- namespace
product_group: pipeline_authoring
product_group: pipeline_security
product_categories:
- secrets_management
milestone: "15.2"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90449
distributions:

View File

@ -7,7 +7,9 @@ identifiers:
- project
- user
- namespace
product_group: pipeline_authoring
product_group: pipeline_security
product_categories:
- secrets_management
milestone: "15.2"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90449
distributions:

View File

@ -7,7 +7,9 @@ identifiers:
- project
- user
- namespace
product_group: pipeline_authoring
product_group: pipeline_security
product_categories:
- secrets_management
milestone: "15.2"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90449
distributions:

View File

@ -7,7 +7,9 @@ extra_properties:
identifiers:
- user
- namespace
product_group: pipeline_authoring
product_group: pipeline_security
product_categories:
- secrets_management
milestone: "15.9"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110422
distributions:

View File

@ -0,0 +1,15 @@
---
description: Tracks when a cached manifest is pulled from the package registry
action: pull_manifest_from_cache
identifiers:
- namespace
- user
product_group: container_registry
milestone: '14.2'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/173882
distributions:
- ce
tiers:
- free
- premium
- ultimate

View File

@ -0,0 +1,21 @@
---
description: Tracks when a NuGet symbol package is downloaded from the package registry
action: pull_symbol_package
identifiers:
- project
- namespace
- user
product_group: package_registry
milestone: '14.1'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/64554
distributions:
- ce
tiers:
- free
- premium
- ultimate
additional_properties:
label:
description: Always `redis_hll_counters.user_packages.user_packages_total_unique_counts_monthly`
property:
description: Always `i_package_nuget_user`

View File

@ -4,6 +4,8 @@ key_path: redis_hll_counters.pipeline_authoring.o_pipeline_authoring_unique_user
description: Monthly unique user count doing commits which contains the CI config
file
product_group: pipeline_authoring
product_categories:
- pipeline_composition
value_type: number
status: active
time_frame: 28d

View File

@ -3,6 +3,8 @@ data_category: optional
key_path: redis_hll_counters.pipeline_authoring.o_pipeline_authoring_unique_users_pushing_mr_ciconfigfile_monthly
description: Monthly unique user count having merge requests which contains the CI config file
product_group: pipeline_authoring
product_categories:
- pipeline_composition
value_type: number
status: active
milestone: "13.10"

View File

@ -3,6 +3,8 @@ data_category: optional
key_path: redis_hll_counters.pipeline_authoring.pipeline_authoring_total_unique_counts_monthly
description: Unique users doing commits or push MRs which contains CI cifig file
product_group: pipeline_authoring
product_categories:
- pipeline_composition
value_type: number
status: active
milestone: "13.12"

View File

@ -2,6 +2,8 @@
key_path: redis_hll_counters.ci_templates.p_ci_templates_kaniko_monthly
description: ''
product_group: pipeline_authoring
product_categories:
- pipeline_composition
value_type: number
status: active
milestone: '14.3'

View File

@ -2,6 +2,8 @@
key_path: redis_hll_counters.ci_templates.p_ci_templates_katalon_monthly
description: 'Monthly counts of times users have executed katalon_tests jobs'
product_group: 'pipeline_authoring'
product_categories:
- pipeline_composition
value_type: number
status: active
milestone: "15.4"

View File

@ -1,7 +1,9 @@
---
key_path: redis_hll_counters.ci_secrets_management.i_ci_secrets_management_id_tokens_build_created_monthly
description: Monthly count of unique users who created a pipeline with id_tokens (JWT tokens)
product_group: pipeline_authoring
product_group: pipeline_security
product_categories:
- secrets_management
value_type: number
status: active
milestone: "15.9"

View File

@ -3,6 +3,8 @@ data_category: operational
key_path: redis_hll_counters.pipeline_authoring.o_pipeline_authoring_unique_users_committing_ciconfigfile_weekly
description: Weekly unique user count doing commits which contains the CI config file
product_group: pipeline_authoring
product_categories:
- pipeline_composition
value_type: number
status: active
time_frame: 7d

View File

@ -3,6 +3,8 @@ data_category: optional
key_path: redis_hll_counters.pipeline_authoring.o_pipeline_authoring_unique_users_pushing_mr_ciconfigfile_weekly
description: Weekly unique user count having merge requests which contains the CI config file
product_group: pipeline_authoring
product_categories:
- pipeline_composition
value_type: number
status: active
milestone: "13.10"

View File

@ -3,6 +3,8 @@ data_category: optional
key_path: redis_hll_counters.pipeline_authoring.pipeline_authoring_total_unique_counts_weekly
description: Unique users doing commits or push MRs which contains CI cifig file
product_group: pipeline_authoring
product_categories:
- pipeline_composition
value_type: number
status: active
milestone: "13.12"

View File

@ -2,6 +2,8 @@
key_path: redis_hll_counters.ci_templates.p_ci_templates_katalon_weekly
description: 'Weekly counts of times users have executed katalon_tests jobs'
product_group: 'pipeline_authoring'
product_categories:
- pipeline_composition
value_type: number
status: active
milestone: "15.4"

View File

@ -1,7 +1,9 @@
---
key_path: redis_hll_counters.ci_secrets_management.i_ci_secrets_management_id_tokens_build_created_weekly
description: Weekly count of unique users who created a pipeline with id_tokens (JWT tokens)
product_group: pipeline_authoring
product_group: pipeline_security
product_categories:
- secrets_management
value_type: number
status: active
milestone: "15.9"

View File

@ -1,8 +0,0 @@
---
migration_job_name: BackfillUuidConversionColumnInVulnerabilityOccurrences
description: backfill values for `uuid_convert_string_to_uuid` column in vulnerability_occurrences
table
feature_category: vulnerability_management
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124986
milestone: '16.2'
finalized_by: '20231207221056'

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
class AddJobsIndexRateLimitToApplicationSettings < Gitlab::Database::Migration[2.1]
def change
add_column :application_settings, :project_jobs_api_rate_limit, :integer, default: 600, null: false
end
end

View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
class AddOkrReminderLastSentToWorkItemProgresses < Gitlab::Database::Migration[2.1]
def change
add_column :work_item_progresses, :last_reminder_sent_at, :datetime_with_timezone
end
end

View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
class AddPriorityToUserAchievements < Gitlab::Database::Migration[2.1]
def change
add_column :user_achievements, :priority, :int, null: true, default: nil
end
end

View File

@ -1,17 +0,0 @@
# frozen_string_literal: true
class AddCvssToVulnerabilities < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
def up
with_lock_retries do
add_column :vulnerabilities, :cvss, :jsonb, default: [], if_not_exists: true
end
end
def down
with_lock_retries do
remove_column :vulnerabilities, :cvss, if_exists: true
end
end
end

View File

@ -1,16 +0,0 @@
# frozen_string_literal: true
class AddIndexToViolationsOnTargetProjIdSync < Gitlab::Database::Migration[2.1]
TABLE_NAME = 'merge_requests_compliance_violations'
INDEX_NAME = 'i_compliance_violations_for_export'
disable_ddl_transaction!
def up
add_concurrent_index TABLE_NAME, [:target_project_id, :id], name: INDEX_NAME
end
def down
remove_concurrent_index_by_name TABLE_NAME, INDEX_NAME
end
end

View File

@ -1,13 +0,0 @@
# frozen_string_literal: true
class AddAdminMembersToMemberRole < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def up
add_column :member_roles, :admin_group_member, :boolean, default: false, null: false
end
def down
remove_column :member_roles, :admin_group_member
end
end

View File

@ -1,12 +0,0 @@
# frozen_string_literal: true
class CreateVSCodeSetting < Gitlab::Database::Migration[2.1]
def change
create_table :vs_code_settings do |t|
t.references :user, index: true, foreign_key: { on_delete: :cascade }, null: false
t.timestamps_with_timezone null: false
t.text :setting_type, null: false, limit: 256
t.text :content, null: false, limit: 512.kilobytes
end
end
end

View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
class AddVulnerabilitiesToSbomOccurrences < Gitlab::Database::Migration[2.1]
def change
add_column :sbom_occurrences, :vulnerabilities, :jsonb, default: []
end
end

View File

@ -1,26 +0,0 @@
# frozen_string_literal: true
class CreateCiFinishedBuildChSyncEvents < Gitlab::Database::Migration[2.1]
def change
options = {
primary_key: [:build_id, :partition],
options: 'PARTITION BY LIST (partition)'
}
create_table(:p_ci_finished_build_ch_sync_events, **options) do |t|
# Do not bother with foreign key as it provides no benefit and has a performance cost. These get cleaned up over
# time anyway.
t.bigint :build_id, null: false
t.bigint :partition, null: false, default: 1
# rubocop: disable Migration/Datetime
# The source for this field does not have a timezone
t.datetime :build_finished_at, null: false
# rubocop: enable Migration/Datetime
t.boolean :processed, null: false, default: false
t.index '(build_id % 100), build_id',
where: 'processed = FALSE',
name: 'index_ci_finished_build_ch_sync_events_for_partitioned_query'
end
end
end

View File

@ -1,32 +0,0 @@
# frozen_string_literal: true
class CreateScanResultPolicyViolations < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def up
create_table :scan_result_policy_violations do |t|
t.bigint :scan_result_policy_id,
index: false,
null: false
t.bigint :merge_request_id,
index: { name: 'index_scan_result_policy_violations_on_merge_request_id' },
null: false
t.bigint :project_id,
index: { name: 'index_scan_result_policy_violations_on_project_id' },
null: false
t.timestamps_with_timezone null: false
end
add_index(:scan_result_policy_violations,
%i[scan_result_policy_id merge_request_id],
unique: true,
name: 'index_scan_result_policy_violations_on_policy_and_merge_request')
end
def down
drop_table :scan_result_policy_violations
end
end

View File

@ -1,19 +0,0 @@
# frozen_string_literal: true
class AddScanResultPolicyFkToScanResultPolicyViolations < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
def up
add_concurrent_foreign_key(
:scan_result_policy_violations,
:scan_result_policies,
column: :scan_result_policy_id,
on_delete: :cascade)
end
def down
with_lock_retries do
remove_foreign_key(:scan_result_policy_violations, column: :scan_result_policy_id)
end
end
end

View File

@ -1,19 +0,0 @@
# frozen_string_literal: true
class AddMergeRequestFkToScanResultPolicyViolations < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
def up
add_concurrent_foreign_key(
:scan_result_policy_violations,
:merge_requests,
column: :merge_request_id,
on_delete: :cascade)
end
def down
with_lock_retries do
remove_foreign_key(:scan_result_policy_violations, column: :merge_request_id)
end
end
end

View File

@ -1,19 +0,0 @@
# frozen_string_literal: true
class AddProjectFkToScanResultPolicyViolations < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
def up
add_concurrent_foreign_key(
:scan_result_policy_violations,
:projects,
column: :project_id,
on_delete: :cascade)
end
def down
with_lock_retries do
remove_foreign_key(:scan_result_policy_violations, column: :project_id)
end
end
end

View File

@ -1,22 +0,0 @@
# frozen_string_literal: true
class AddPackageNamePatternQueryToPackagesProtectionRule < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
def up
with_lock_retries do
unless column_exists?(
:packages_protection_rules, :package_name_pattern_ilike_query)
# rubocop:disable Rails/NotNullColumn
add_column :packages_protection_rules, :package_name_pattern_ilike_query, :text, null: false
# rubocop:enable Rails/NotNullColumn
end
end
add_text_limit :packages_protection_rules, :package_name_pattern_ilike_query, 255
end
def down
remove_column :packages_protection_rules, :package_name_pattern_ilike_query
end
end

View File

@ -1,9 +0,0 @@
# frozen_string_literal: true
class AddCrossHierarchyEnabledToHierarchyRestrictions < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def change
add_column :work_item_hierarchy_restrictions, :cross_hierarchy_enabled, :boolean, default: false, null: false
end
end

View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
class AddMaxLoginAttemptsToApplicationSettings < Gitlab::Database::Migration[2.1]
def change
add_column :application_settings, :max_login_attempts, :integer, null: true
end
end

View File

@ -1,15 +0,0 @@
# frozen_string_literal: true
class AddApplicationSettingsMaxLoginAttemptsConstraint < Gitlab::Database::Migration[2.1]
CONSTRAINT_NAME = 'app_settings_max_login_attempts_positive'
disable_ddl_transaction!
def up
add_check_constraint :application_settings, 'max_login_attempts > 0', CONSTRAINT_NAME
end
def down
remove_check_constraint :application_settings, CONSTRAINT_NAME
end
end

View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
class AddFailedLoginAttemptsUnlockPeriodInMinutesToApplicationSettings < Gitlab::Database::Migration[2.1]
def change
add_column :application_settings, :failed_login_attempts_unlock_period_in_minutes, :integer, null: true
end
end

View File

@ -1,15 +0,0 @@
# frozen_string_literal: true
class AddApplicationSettingsFailedLoginAttemptsUnlockPeriodInMinutesConstraint < Gitlab::Database::Migration[2.1]
CONSTRAINT_NAME = 'app_settings_failed_login_attempts_unlock_period_positive'
disable_ddl_transaction!
def up
add_check_constraint :application_settings, 'failed_login_attempts_unlock_period_in_minutes > 0', CONSTRAINT_NAME
end
def down
remove_check_constraint :application_settings, CONSTRAINT_NAME
end
end

View File

@ -1,15 +0,0 @@
# frozen_string_literal: true
class AddSprintIdAndWeightToVsaIssues < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def up
add_column :analytics_cycle_analytics_issue_stage_events, :weight, :integer
add_column :analytics_cycle_analytics_issue_stage_events, :sprint_id, :bigint
end
def down
remove_column :analytics_cycle_analytics_issue_stage_events, :sprint_id
remove_column :analytics_cycle_analytics_issue_stage_events, :weight
end
end

View File

@ -1,9 +0,0 @@
# frozen_string_literal: true
class AddContainerRegistryDbEnabledToApplicationSettings < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def change
add_column :application_settings, :container_registry_db_enabled, :boolean, null: false, default: false
end
end

View File

@ -1,9 +0,0 @@
# frozen_string_literal: true
class AddLastAssignedUsersRefreshedAtToSubscriptionAddOnPurchases < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def change
add_column(:subscription_add_on_purchases, :last_assigned_users_refreshed_at, :datetime_with_timezone)
end
end

View File

@ -1,9 +0,0 @@
# frozen_string_literal: true
class AddForceIncludeAllResourcesToWorkspaces < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def change
add_column :workspaces, :force_include_all_resources, :boolean, default: false, null: false
end
end

View File

@ -1,25 +0,0 @@
# frozen_string_literal: true
class AddQueuedMigrationVersionToBatchedBackgroundMigrations < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
INDEX_NAME = 'unique_batched_background_migrations_queued_migration_version'
# rubocop:disable Migration/AddLimitToTextColumns
# limit is added in 20230921082223_add_limit_to_queued_migration_version_in_batched_background_migrations.rb
def up
add_column(:batched_background_migrations, :queued_migration_version, :text, if_not_exists: true)
add_concurrent_index(
:batched_background_migrations,
:queued_migration_version,
unique: true,
name: INDEX_NAME
)
end
# rubocop:enable Migration/AddLimitToTextColumns
def down
remove_column(:batched_background_migrations, :queued_migration_version, :text, if_exists: true)
end
end

View File

@ -1,14 +0,0 @@
# frozen_string_literal: true
class AddLimitToQueuedMigrationVersionInBatchedBackgroundMigrations < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
def up
# 14 is set as the limit because the migration version is 14 chars in length
add_text_limit :batched_background_migrations, :queued_migration_version, 14
end
def down
remove_text_limit :batched_background_migrations, :queued_migration_version
end
end

View File

@ -1,9 +0,0 @@
# frozen_string_literal: true
class AddLatestReleasedAtToCatalogResources < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def change
add_column :catalog_resources, :latest_released_at, :datetime_with_timezone, null: true
end
end

View File

@ -1,22 +0,0 @@
# frozen_string_literal: true
class AddForeignKeyForCiPipelinesPipelineIdBigint < Gitlab::Database::Migration[2.1]
TABLE_NAME = :ci_pipelines
REFERENCING_TABLE_NAME = :ci_pipelines
COLUMN_NAME = :auto_canceled_by_id_convert_to_bigint
disable_ddl_transaction!
def up
add_concurrent_foreign_key(
TABLE_NAME, REFERENCING_TABLE_NAME,
column: COLUMN_NAME, on_delete: :nullify, validate: false, reverse_lock_order: true
)
end
def down
with_lock_retries do
remove_foreign_key_if_exists TABLE_NAME, column: COLUMN_NAME
end
end
end

View File

@ -1,15 +0,0 @@
# frozen_string_literal: true
class RemoveDeprecatedDeleteContainerRepositoryWorkerJobInstances < Gitlab::Database::Migration[2.1]
DEPRECATED_JOB_CLASSES = %w[DeleteContainerRepositoryWorker].freeze
disable_ddl_transaction!
def up
sidekiq_remove_jobs(job_klasses: DEPRECATED_JOB_CLASSES)
end
def down
# This migration removes any instances of deprecated workers and cannot be undone.
end
end

View File

@ -1,15 +0,0 @@
# frozen_string_literal: true
class AddIndexOnOkrReminderFrequency < Gitlab::Database::Migration[2.1]
INDEX_NAME = 'idx_reminder_frequency_on_work_item_progresses'
disable_ddl_transaction!
def up
add_concurrent_index :work_item_progresses, :reminder_frequency, name: INDEX_NAME
end
def down
remove_concurrent_index_by_name :work_item_progresses, INDEX_NAME
end
end

View File

@ -1,17 +0,0 @@
# frozen_string_literal: true
class AddIndexToAddOnPurchasesOnLastAssignedUsersRefreshedAtAndAddOnId < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
INDEX_NAME = 'idx_addon_purchases_on_last_refreshed_at_desc_nulls_last'
def up
add_concurrent_index :subscription_add_on_purchases, %i[last_assigned_users_refreshed_at],
order: { last_assigned_users_refreshed_at: 'DESC NULLS LAST' },
name: INDEX_NAME
end
def down
remove_concurrent_index_by_name :subscription_add_on_purchases, INDEX_NAME
end
end

View File

@ -1,8 +0,0 @@
# frozen_string_literal: true
class AddVertexAiAccessTokenToApplicationSettings < Gitlab::Database::Migration[2.1]
def change
add_column :application_settings, :encrypted_vertex_ai_access_token, :binary
add_column :application_settings, :encrypted_vertex_ai_access_token_iv, :binary
end
end

View File

@ -1,23 +0,0 @@
# frozen_string_literal: true
class CreateValueStreamAnalyticsSettings < Gitlab::Database::Migration[2.1]
def change
create_table :analytics_cycle_analytics_value_stream_settings, id: false do |t|
t.references(
:value_stream,
primary_key: true,
default: nil,
type: :bigint,
index: false,
foreign_key: {
to_table: :analytics_cycle_analytics_group_value_streams,
column: :analytics_cycle_analytics_group_value_stream_id,
on_delete: :cascade
}
)
t.bigint :project_ids_filter, array: true, default: []
t.check_constraint 'CARDINALITY(project_ids_filter) <= 100'
end
end
end

View File

@ -1,18 +0,0 @@
# frozen_string_literal: true
class AddIndexOnPagesDeploymentsDeletedAt < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
INDEX = 'index_pages_deployments_on_deleted_at'
def up
add_concurrent_index :pages_deployments,
:deleted_at,
where: 'deleted_at IS NOT NULL',
name: INDEX
end
def down
remove_concurrent_index :pages_deployments, :deleted_at, name: INDEX
end
end

View File

@ -1,9 +0,0 @@
# frozen_string_literal: true
class AddApplicablePostMergeColumnToMrApprovalRules < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def change
add_column :approval_merge_request_rules, :applicable_post_merge, :boolean
end
end

View File

@ -1,9 +0,0 @@
# frozen_string_literal: true
class AddMathRenderingLimitsEnabled < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def change
add_column :application_settings, :math_rendering_limits_enabled, :boolean, default: true, null: false
end
end

View File

@ -1,21 +0,0 @@
# frozen_string_literal: true
class AddRelatedLinkRestrictions < Gitlab::Database::Migration[2.1]
UNIQUE_INDEX_NAME = 'index_work_item_link_restrictions_on_source_link_type_target'
def up
create_table :work_item_related_link_restrictions do |t|
t.references :source_type, index: false, null: false,
foreign_key: { on_delete: :cascade, to_table: :work_item_types }
t.references :target_type, index: true, null: false,
foreign_key: { on_delete: :cascade, to_table: :work_item_types }
t.integer :link_type, null: false, limit: 2, default: 0
t.index [:source_type_id, :link_type, :target_type_id], unique: true, name: UNIQUE_INDEX_NAME
end
end
def down
drop_table :work_item_related_link_restrictions
end
end

View File

@ -1,24 +0,0 @@
# frozen_string_literal: true
class CreateAbuseReportUserMentions < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def up
create_table :abuse_report_user_mentions do |t|
t.bigint :abuse_report_id, null: false
t.bigint :note_id, null: false
t.bigint :mentioned_users_ids, array: true, default: nil
t.bigint :mentioned_projects_ids, array: true, default: nil
t.bigint :mentioned_groups_ids, array: true, default: nil
t.index :note_id
t.index [:abuse_report_id, :note_id],
unique: true,
name: :index_abuse_report_user_mentions_on_abuse_report_id_and_note_id
end
end
def down
drop_table :abuse_report_user_mentions, if_exists: true
end
end

View File

@ -1,16 +0,0 @@
# frozen_string_literal: true
class AddAbuseReportsForeignKeyToAbuseReportUserMentions < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
def up
add_concurrent_foreign_key :abuse_report_user_mentions, :abuse_reports, column: :abuse_report_id,
on_delete: :cascade
end
def down
with_lock_retries do
remove_foreign_key :abuse_report_user_mentions, column: :abuse_report_id
end
end
end

View File

@ -1,15 +0,0 @@
# frozen_string_literal: true
class AddNotesForeignKeyToAbuseReportUserMentions < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
def up
add_concurrent_foreign_key :abuse_report_user_mentions, :notes, column: :note_id, on_delete: :cascade
end
def down
with_lock_retries do
remove_foreign_key :abuse_report_user_mentions, column: :note_id
end
end
end

View File

@ -1,18 +0,0 @@
# frozen_string_literal: true
class CreateContainerRegistryProtectionRules < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def change
create_table :container_registry_protection_rules do |t|
t.references :project, null: false, index: false, foreign_key: { on_delete: :cascade }
t.timestamps_with_timezone null: false
t.integer :delete_protected_up_to_access_level, null: false, limit: 2
t.integer :push_protected_up_to_access_level, null: false, limit: 2
t.text :container_path_pattern, limit: 255, null: false
t.index [:project_id, :container_path_pattern], unique: true,
name: :i_container_protection_unique_project_id_container_path_pattern
end
end
end

View File

@ -1,13 +0,0 @@
# frozen_string_literal: true
class AddUuidAndVersionToVsCodeSetting < Gitlab::Database::Migration[2.1]
def up
add_column :vs_code_settings, :uuid, :uuid, null: true, default: false
add_column :vs_code_settings, :version, :integer, null: true, default: false
end
def down
remove_column :vs_code_settings, :uuid
remove_column :vs_code_settings, :version
end
end

View File

@ -1,22 +0,0 @@
# frozen_string_literal: true
class ReplaceValueStreamProjectIdsFilterConstraint < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
OLD_CONSTRAINT_NAME = 'chk_rails_a91b547c97'
NEW_CONSTRAINT_NAME = 'project_ids_filter_array_check'
def up
remove_check_constraint :analytics_cycle_analytics_value_stream_settings, OLD_CONSTRAINT_NAME
check = '((CARDINALITY(project_ids_filter) <= 100) AND (ARRAY_POSITION(project_ids_filter, null) IS null))'
add_check_constraint :analytics_cycle_analytics_value_stream_settings, check, NEW_CONSTRAINT_NAME
end
def down
remove_check_constraint :analytics_cycle_analytics_value_stream_settings, NEW_CONSTRAINT_NAME
check = '(CARDINALITY(project_ids_filter) <= 100)'
add_check_constraint :analytics_cycle_analytics_value_stream_settings, check, OLD_CONSTRAINT_NAME
end
end

View File

@ -1,13 +0,0 @@
# frozen_string_literal: true
class ChangePushProtectedUpToAccessLevelToSmallintInPackagesProtectionRules < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def up
change_column :packages_protection_rules, :push_protected_up_to_access_level, :integer, limit: 2
end
def down
change_column :packages_protection_rules, :push_protected_up_to_access_level, :integer
end
end

View File

@ -1,9 +0,0 @@
# frozen_string_literal: true
class AddExternalParticipantsFromCcToServiceDeskSettings < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def change
add_column :service_desk_settings, :add_external_participants_from_cc, :boolean, null: false, default: false
end
end

View File

@ -1,30 +0,0 @@
# frozen_string_literal: true
class AddTaskRequestAttributesToZoektShards < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
UNIQUE_UUID_INDEX = 'unique_zoekt_shards_uuid'
LAST_SEEN_AT_INDEX = 'index_zoekt_shards_on_last_seen_at'
def up
add_column :zoekt_shards, :uuid, :uuid, null: false, default: '00000000-00000000-00000000-00000000'
add_column :zoekt_shards, :last_seen_at, :datetime_with_timezone, null: false, default: '1970-01-01'
add_column :zoekt_shards, :used_bytes, :bigint, null: false, default: 0
add_column :zoekt_shards, :total_bytes, :bigint, null: false, default: 0
add_column :zoekt_shards, :metadata, :jsonb, default: {}, null: false
add_concurrent_index :zoekt_shards, :uuid, unique: true, name: UNIQUE_UUID_INDEX
add_concurrent_index :zoekt_shards, :last_seen_at, name: LAST_SEEN_AT_INDEX
end
def down
remove_column :zoekt_shards, :uuid
remove_column :zoekt_shards, :last_seen_at
remove_column :zoekt_shards, :used_bytes
remove_column :zoekt_shards, :total_bytes
remove_column :zoekt_shards, :metadata
remove_concurrent_index :zoekt_shards, :uuid, name: UNIQUE_UUID_INDEX
remove_concurrent_index :zoekt_shards, :last_seen_at, name: LAST_SEEN_AT_INDEX
end
end

View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
class AddManageProjectAccessTokensToMemberRoles < Gitlab::Database::Migration[2.1]
def change
add_column :member_roles, :manage_project_access_tokens, :boolean, default: false, null: false
end
end

View File

@ -1,13 +0,0 @@
# frozen_string_literal: true
class AddAutoCanceledByPartitionIdToPCiBuilds < Gitlab::Database::Migration[2.1]
def up
# no-op
# moved to db/migrate/20231020074227_add_auto_canceled_by_partition_id_to_p_ci_builds_self_managed.rb
end
def down
# no-op
# moved to db/migrate/20231020074227_add_auto_canceled_by_partition_id_to_p_ci_builds_self_managed.rb
end
end

View File

@ -0,0 +1,9 @@
# frozen_string_literal: true
class AddCreatedAtColumnToProjectComplianceFrameworkSettings < Gitlab::Database::Migration[2.2]
milestone '17.7'
def change
add_column :project_compliance_framework_settings, :created_at, :datetime_with_timezone
end
end

View File

@ -0,0 +1,18 @@
# frozen_string_literal: true
class AddIndexToProjectComplianceFrameworkSettingsCreatedAt < Gitlab::Database::Migration[2.2]
milestone '17.7'
disable_ddl_transaction!
INDEX_CREATED_AT_TO_PROJECT_IDS = 'idx_on_project_id_created_at_for_compliance_framework_settings'
def up
add_concurrent_index :project_compliance_framework_settings, [:project_id, :created_at],
name: INDEX_CREATED_AT_TO_PROJECT_IDS
end
def down
remove_concurrent_index_by_name :project_compliance_framework_settings, INDEX_CREATED_AT_TO_PROJECT_IDS
end
end

View File

@ -1,18 +0,0 @@
# frozen_string_literal: true
class RemoveIndexEventsAuthorIdAndCreatedAt < Gitlab::Database::Migration[2.1]
INDEX_NAME = 'index_events_on_author_id_and_created_at_merge_requests'
# TODO: Index to be destroyed synchronously in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/127657
def up
prepare_async_index_removal :events,
[:author_id, :created_at],
name: INDEX_NAME
end
def down
unprepare_async_index :events,
[:author_id, :created_at],
name: INDEX_NAME
end
end

Some files were not shown because too many files have changed in this diff Show More