summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-05-19 07:33:21 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-05-19 07:33:21 +0000
commit36a59d088eca61b834191dacea009677a96c052f (patch)
treee4f33972dab5d8ef79e3944a9f403035fceea43f /db
parenta1761f15ec2cae7c7f7bbda39a75494add0dfd6f (diff)
downloadgitlab-ce-36a59d088eca61b834191dacea009677a96c052f.tar.gz
Add latest changes from gitlab-org/gitlab@15-0-stable-eev15.0.0-rc42
Diffstat (limited to 'db')
-rw-r--r--db/docs/abuse_reports.yml4
-rw-r--r--db/docs/alert_management_alert_assignees.yml4
-rw-r--r--db/docs/alert_management_alert_metric_images.yml2
-rw-r--r--db/docs/alert_management_alert_user_mentions.yml4
-rw-r--r--db/docs/alert_management_alerts.yml4
-rw-r--r--db/docs/alert_management_http_integrations.yml4
-rw-r--r--db/docs/allowed_email_domains.yml4
-rw-r--r--db/docs/analytics_cycle_analytics_group_value_streams.yml2
-rw-r--r--db/docs/analytics_cycle_analytics_project_value_streams.yml4
-rw-r--r--db/docs/application_settings.yml1
-rw-r--r--db/docs/approval_merge_request_rules_approved_approvers.yml2
-rw-r--r--db/docs/approvers.yml4
-rw-r--r--db/docs/ar_internal_metadata.yml7
-rw-r--r--db/docs/atlassian_identities.yml6
-rw-r--r--db/docs/authentication_events.yml2
-rw-r--r--db/docs/award_emoji.yml6
-rw-r--r--db/docs/background_migration_jobs.yml6
-rw-r--r--db/docs/badges.yml4
-rw-r--r--db/docs/batched_background_migration_job_transition_logs.yml4
-rw-r--r--db/docs/batched_background_migration_jobs.yml3
-rw-r--r--db/docs/batched_background_migrations.yml4
-rw-r--r--db/docs/board_assignees.yml2
-rw-r--r--db/docs/board_group_recent_visits.yml2
-rw-r--r--db/docs/board_labels.yml2
-rw-r--r--db/docs/board_project_recent_visits.yml2
-rw-r--r--db/docs/board_user_preferences.yml4
-rw-r--r--db/docs/boards.yml4
-rw-r--r--db/docs/boards_epic_board_labels.yml4
-rw-r--r--db/docs/boards_epic_board_positions.yml4
-rw-r--r--db/docs/boards_epic_board_recent_visits.yml4
-rw-r--r--db/docs/boards_epic_boards.yml2
-rw-r--r--db/docs/boards_epic_list_user_preferences.yml4
-rw-r--r--db/docs/boards_epic_lists.yml4
-rw-r--r--db/docs/boards_epic_user_preferences.yml6
-rw-r--r--db/docs/bulk_import_configurations.yml2
-rw-r--r--db/docs/bulk_import_entities.yml2
-rw-r--r--db/docs/bulk_import_export_uploads.yml2
-rw-r--r--db/docs/bulk_import_exports.yml2
-rw-r--r--db/docs/bulk_import_failures.yml2
-rw-r--r--db/docs/bulk_import_trackers.yml2
-rw-r--r--db/docs/bulk_imports.yml2
-rw-r--r--db/docs/chat_names.yml7
-rw-r--r--db/docs/chat_teams.yml7
-rw-r--r--db/docs/ci_build_needs.yml4
-rw-r--r--db/docs/ci_build_pending_states.yml2
-rw-r--r--db/docs/ci_build_report_results.yml2
-rw-r--r--db/docs/ci_daily_build_group_report_results.yml2
-rw-r--r--db/docs/ci_deleted_objects.yml2
-rw-r--r--db/docs/ci_freeze_periods.yml2
-rw-r--r--db/docs/ci_instance_variables.yml2
-rw-r--r--db/docs/ci_job_artifact_states.yml2
-rw-r--r--db/docs/ci_pipeline_artifacts.yml2
-rw-r--r--db/docs/ci_pipeline_messages.yml2
-rw-r--r--db/docs/ci_platform_metrics.yml2
-rw-r--r--db/docs/ci_runner_namespaces.yml4
-rw-r--r--db/docs/ci_runner_projects.yml2
-rw-r--r--db/docs/ci_runners.yml4
-rw-r--r--db/docs/ci_sources_pipelines.yml4
-rw-r--r--db/docs/ci_unit_tests.yml2
-rw-r--r--db/docs/cluster_agent_tokens.yml2
-rw-r--r--db/docs/cluster_agents.yml2
-rw-r--r--db/docs/clusters.yml6
-rw-r--r--db/docs/clusters_applications_cilium.yml6
-rw-r--r--db/docs/clusters_applications_prometheus.yml4
-rw-r--r--db/docs/clusters_integration_elasticstack.yml2
-rw-r--r--db/docs/clusters_integration_prometheus.yml2
-rw-r--r--db/docs/commit_user_mentions.yml4
-rw-r--r--db/docs/container_expiration_policies.yml2
-rw-r--r--db/docs/container_repositories.yml4
-rw-r--r--db/docs/coverage_fuzzing_corpuses.yml4
-rw-r--r--db/docs/csv_issue_imports.yml2
-rw-r--r--db/docs/custom_emoji.yml4
-rw-r--r--db/docs/customer_relations_contacts.yml4
-rw-r--r--db/docs/customer_relations_organizations.yml4
-rw-r--r--db/docs/dast_scanner_profiles.yml2
-rw-r--r--db/docs/dast_site_profiles.yml2
-rw-r--r--db/docs/dast_site_tokens.yml2
-rw-r--r--db/docs/dast_site_validations.yml2
-rw-r--r--db/docs/dast_sites.yml2
-rw-r--r--db/docs/dependency_proxy_blobs.yml2
-rw-r--r--db/docs/dependency_proxy_group_settings.yml2
-rw-r--r--db/docs/dependency_proxy_image_ttl_group_policies.yml2
-rw-r--r--db/docs/dependency_proxy_manifests.yml4
-rw-r--r--db/docs/description_versions.yml4
-rw-r--r--db/docs/design_management_designs.yml2
-rw-r--r--db/docs/design_management_designs_versions.yml2
-rw-r--r--db/docs/design_management_versions.yml2
-rw-r--r--db/docs/design_user_mentions.yml4
-rw-r--r--db/docs/diff_note_positions.yml2
-rw-r--r--db/docs/draft_notes.yml5
-rw-r--r--db/docs/elastic_reindexing_tasks.yml2
-rw-r--r--db/docs/emails.yml2
-rw-r--r--db/docs/epic_issues.yml2
-rw-r--r--db/docs/epic_user_mentions.yml4
-rw-r--r--db/docs/epics.yml2
-rw-r--r--db/docs/error_tracking_client_keys.yml2
-rw-r--r--db/docs/error_tracking_error_events.yml4
-rw-r--r--db/docs/error_tracking_errors.yml4
-rw-r--r--db/docs/experiment_users.yml2
-rw-r--r--db/docs/experiments.yml4
-rw-r--r--db/docs/geo_cache_invalidation_events.yml2
-rw-r--r--db/docs/geo_container_repository_updated_events.yml2
-rw-r--r--db/docs/geo_event_log.yml2
-rw-r--r--db/docs/geo_events.yml2
-rw-r--r--db/docs/geo_hashed_storage_attachments_events.yml2
-rw-r--r--db/docs/geo_hashed_storage_migrated_events.yml2
-rw-r--r--db/docs/geo_job_artifact_deleted_events.yml9
-rw-r--r--db/docs/geo_lfs_object_deleted_events.yml2
-rw-r--r--db/docs/geo_node_namespace_links.yml2
-rw-r--r--db/docs/geo_node_statuses.yml2
-rw-r--r--db/docs/geo_nodes.yml2
-rw-r--r--db/docs/geo_repositories_changed_events.yml2
-rw-r--r--db/docs/geo_repository_created_events.yml2
-rw-r--r--db/docs/geo_repository_deleted_events.yml2
-rw-r--r--db/docs/geo_repository_renamed_events.yml2
-rw-r--r--db/docs/geo_repository_updated_events.yml2
-rw-r--r--db/docs/geo_reset_checksum_events.yml2
-rw-r--r--db/docs/gitlab_subscription_histories.yml2
-rw-r--r--db/docs/gitlab_subscriptions.yml2
-rw-r--r--db/docs/group_crm_settings.yml4
-rw-r--r--db/docs/group_custom_attributes.yml4
-rw-r--r--db/docs/group_deploy_keys.yml2
-rw-r--r--db/docs/group_deploy_keys_groups.yml2
-rw-r--r--db/docs/group_features.yml9
-rw-r--r--db/docs/group_import_states.yml4
-rw-r--r--db/docs/group_wiki_repositories.yml4
-rw-r--r--db/docs/import_export_uploads.yml2
-rw-r--r--db/docs/import_failures.yml2
-rw-r--r--db/docs/incident_management_escalation_policies.yml2
-rw-r--r--db/docs/incident_management_escalation_rules.yml2
-rw-r--r--db/docs/incident_management_issuable_escalation_statuses.yml2
-rw-r--r--db/docs/incident_management_oncall_participants.yml3
-rw-r--r--db/docs/incident_management_oncall_rotations.yml3
-rw-r--r--db/docs/incident_management_oncall_schedules.yml3
-rw-r--r--db/docs/incident_management_oncall_shifts.yml3
-rw-r--r--db/docs/incident_management_pending_alert_escalations.yml4
-rw-r--r--db/docs/incident_management_pending_issue_escalations.yml2
-rw-r--r--db/docs/incident_management_timeline_events.yml2
-rw-r--r--db/docs/integrations.yml4
-rw-r--r--db/docs/internal_ids.yml7
-rw-r--r--db/docs/issuable_severities.yml4
-rw-r--r--db/docs/issuable_slas.yml4
-rw-r--r--db/docs/issue_assignees.yml4
-rw-r--r--db/docs/issue_customer_relations_contacts.yml4
-rw-r--r--db/docs/issue_email_participants.yml2
-rw-r--r--db/docs/issue_emails.yml3
-rw-r--r--db/docs/issue_links.yml4
-rw-r--r--db/docs/issue_tracker_data.yml4
-rw-r--r--db/docs/issue_user_mentions.yml2
-rw-r--r--db/docs/issues.yml2
-rw-r--r--db/docs/issues_prometheus_alert_events.yml2
-rw-r--r--db/docs/issues_self_managed_prometheus_alert_events.yml2
-rw-r--r--db/docs/iterations_cadences.yml4
-rw-r--r--db/docs/jira_connect_installations.yml2
-rw-r--r--db/docs/jira_connect_subscriptions.yml2
-rw-r--r--db/docs/jira_imports.yml6
-rw-r--r--db/docs/jira_tracker_data.yml2
-rw-r--r--db/docs/keys.yml5
-rw-r--r--db/docs/label_links.yml2
-rw-r--r--db/docs/label_priorities.yml4
-rw-r--r--db/docs/labels.yml2
-rw-r--r--db/docs/lfs_file_locks.yml2
-rw-r--r--db/docs/lfs_object_states.yml2
-rw-r--r--db/docs/lfs_objects.yml4
-rw-r--r--db/docs/lfs_objects_projects.yml4
-rw-r--r--db/docs/licenses.yml2
-rw-r--r--db/docs/list_user_preferences.yml4
-rw-r--r--db/docs/lists.yml4
-rw-r--r--db/docs/member_tasks.yml2
-rw-r--r--db/docs/members.yml2
-rw-r--r--db/docs/merge_request_assignees.yml4
-rw-r--r--db/docs/merge_request_cleanup_schedules.yml2
-rw-r--r--db/docs/merge_request_context_commits.yml2
-rw-r--r--db/docs/merge_request_diff_commit_users.yml2
-rw-r--r--db/docs/merge_request_diff_commits.yml4
-rw-r--r--db/docs/merge_request_diff_details.yml6
-rw-r--r--db/docs/merge_request_diff_files.yml4
-rw-r--r--db/docs/merge_request_diffs.yml2
-rw-r--r--db/docs/merge_request_metrics.yml4
-rw-r--r--db/docs/merge_request_reviewers.yml4
-rw-r--r--db/docs/merge_request_user_mentions.yml4
-rw-r--r--db/docs/merge_requests.yml2
-rw-r--r--db/docs/merge_requests_closing_issues.yml4
-rw-r--r--db/docs/metrics_dashboard_annotations.yml2
-rw-r--r--db/docs/metrics_users_starred_dashboards.yml2
-rw-r--r--db/docs/milestones.yml2
-rw-r--r--db/docs/namespace_admin_notes.yml3
-rw-r--r--db/docs/namespace_ci_cd_settings.yml10
-rw-r--r--db/docs/namespace_limits.yml6
-rw-r--r--db/docs/namespace_package_settings.yml2
-rw-r--r--db/docs/namespace_settings.yml4
-rw-r--r--db/docs/namespaces.yml4
-rw-r--r--db/docs/note_diff_files.yml4
-rw-r--r--db/docs/notes.yml6
-rw-r--r--db/docs/notification_settings.yml2
-rw-r--r--db/docs/operations_feature_flags.yml2
-rw-r--r--db/docs/operations_feature_flags_issues.yml2
-rw-r--r--db/docs/operations_strategies_user_lists.yml2
-rw-r--r--db/docs/operations_user_lists.yml2
-rw-r--r--db/docs/packages_build_infos.yml2
-rw-r--r--db/docs/packages_cleanup_policies.yml9
-rw-r--r--db/docs/packages_composer_cache_files.yml2
-rw-r--r--db/docs/packages_composer_metadata.yml4
-rw-r--r--db/docs/packages_conan_file_metadata.yml2
-rw-r--r--db/docs/packages_conan_metadata.yml2
-rw-r--r--db/docs/packages_debian_file_metadata.yml2
-rw-r--r--db/docs/packages_debian_group_architectures.yml2
-rw-r--r--db/docs/packages_debian_group_component_files.yml2
-rw-r--r--db/docs/packages_debian_group_components.yml2
-rw-r--r--db/docs/packages_debian_group_distribution_keys.yml2
-rw-r--r--db/docs/packages_debian_group_distributions.yml2
-rw-r--r--db/docs/packages_debian_project_architectures.yml2
-rw-r--r--db/docs/packages_debian_project_component_files.yml2
-rw-r--r--db/docs/packages_debian_project_components.yml2
-rw-r--r--db/docs/packages_debian_project_distribution_keys.yml2
-rw-r--r--db/docs/packages_debian_project_distributions.yml2
-rw-r--r--db/docs/packages_debian_publications.yml2
-rw-r--r--db/docs/packages_dependencies.yml2
-rw-r--r--db/docs/packages_dependency_links.yml2
-rw-r--r--db/docs/packages_events.yml2
-rw-r--r--db/docs/packages_helm_file_metadata.yml2
-rw-r--r--db/docs/packages_maven_metadata.yml2
-rw-r--r--db/docs/packages_npm_metadata.yml2
-rw-r--r--db/docs/packages_nuget_dependency_link_metadata.yml4
-rw-r--r--db/docs/packages_nuget_metadata.yml6
-rw-r--r--db/docs/packages_package_file_build_infos.yml2
-rw-r--r--db/docs/packages_package_files.yml2
-rw-r--r--db/docs/packages_packages.yml2
-rw-r--r--db/docs/packages_pypi_metadata.yml4
-rw-r--r--db/docs/packages_rubygems_metadata.yml2
-rw-r--r--db/docs/packages_tags.yml2
-rw-r--r--db/docs/pages_deployment_states.yml2
-rw-r--r--db/docs/pages_deployments.yml4
-rw-r--r--db/docs/pages_domain_acme_orders.yml2
-rw-r--r--db/docs/pages_domains.yml4
-rw-r--r--db/docs/plan_limits.yml2
-rw-r--r--db/docs/plans.yml2
-rw-r--r--db/docs/programming_languages.yml6
-rw-r--r--db/docs/project_access_tokens.yml2
-rw-r--r--db/docs/project_alerting_settings.yml4
-rw-r--r--db/docs/project_authorizations.yml5
-rw-r--r--db/docs/project_build_artifacts_size_refreshes.yml9
-rw-r--r--db/docs/project_ci_feature_usages.yml5
-rw-r--r--db/docs/project_compliance_framework_settings.yml2
-rw-r--r--db/docs/project_custom_attributes.yml4
-rw-r--r--db/docs/project_error_tracking_settings.yml4
-rw-r--r--db/docs/project_export_jobs.yml2
-rw-r--r--db/docs/project_feature_usages.yml4
-rw-r--r--db/docs/project_features.yml6
-rw-r--r--db/docs/project_import_data.yml2
-rw-r--r--db/docs/project_incident_management_settings.yml2
-rw-r--r--db/docs/project_mirror_data.yml2
-rw-r--r--db/docs/project_pages_metadata.yml2
-rw-r--r--db/docs/project_repository_storage_moves.yml2
-rw-r--r--db/docs/project_security_settings.yml7
-rw-r--r--db/docs/project_settings.yml4
-rw-r--r--db/docs/project_topics.yml2
-rw-r--r--db/docs/project_tracing_settings.yml2
-rw-r--r--db/docs/projects.yml2
-rw-r--r--db/docs/prometheus_alerts.yml2
-rw-r--r--db/docs/protected_environment_approval_rules.yml9
-rw-r--r--db/docs/raw_usage_data.yml2
-rw-r--r--db/docs/redirect_routes.yml4
-rw-r--r--db/docs/related_epic_links.yml2
-rw-r--r--db/docs/requirements.yml2
-rw-r--r--db/docs/requirements_management_test_reports.yml6
-rw-r--r--db/docs/resource_iteration_events.yml4
-rw-r--r--db/docs/resource_label_events.yml2
-rw-r--r--db/docs/resource_milestone_events.yml4
-rw-r--r--db/docs/resource_state_events.yml6
-rw-r--r--db/docs/resource_weight_events.yml4
-rw-r--r--db/docs/reviews.yml2
-rw-r--r--db/docs/routes.yml5
-rw-r--r--db/docs/saved_replies.yml4
-rw-r--r--db/docs/schema_migrations.yml7
-rw-r--r--db/docs/security_findings.yml4
-rw-r--r--db/docs/security_orchestration_policy_configurations.yml4
-rw-r--r--db/docs/security_orchestration_policy_rule_schedules.yml3
-rw-r--r--db/docs/security_scans.yml2
-rw-r--r--db/docs/security_training_providers.yml2
-rw-r--r--db/docs/security_trainings.yml2
-rw-r--r--db/docs/sent_notifications.yml6
-rw-r--r--db/docs/sentry_issues.yml2
-rw-r--r--db/docs/service_desk_settings.yml2
-rw-r--r--db/docs/slack_integrations.yml2
-rw-r--r--db/docs/snippet_repositories.yml2
-rw-r--r--db/docs/snippet_statistics.yml4
-rw-r--r--db/docs/snippet_user_mentions.yml2
-rw-r--r--db/docs/snippets.yml4
-rw-r--r--db/docs/software_license_policies.yml2
-rw-r--r--db/docs/software_licenses.yml2
-rw-r--r--db/docs/sprints.yml4
-rw-r--r--db/docs/status_page_published_incidents.yml4
-rw-r--r--db/docs/status_page_settings.yml2
-rw-r--r--db/docs/suggestions.yml4
-rw-r--r--db/docs/system_note_metadata.yml4
-rw-r--r--db/docs/taggings.yml5
-rw-r--r--db/docs/tags.yml3
-rw-r--r--db/docs/terraform_state_versions.yml2
-rw-r--r--db/docs/terraform_states.yml2
-rw-r--r--db/docs/timelogs.yml4
-rw-r--r--db/docs/todos.yml2
-rw-r--r--db/docs/topics.yml2
-rw-r--r--db/docs/upcoming_reconciliations.yml2
-rw-r--r--db/docs/upload_states.yml2
-rw-r--r--db/docs/user_agent_details.yml6
-rw-r--r--db/docs/user_callouts.yml4
-rw-r--r--db/docs/user_canonical_emails.yml6
-rw-r--r--db/docs/user_credit_card_validations.yml4
-rw-r--r--db/docs/user_custom_attributes.yml4
-rw-r--r--db/docs/user_details.yml2
-rw-r--r--db/docs/user_follow_users.yml2
-rw-r--r--db/docs/user_group_callouts.yml2
-rw-r--r--db/docs/user_interacted_projects.yml6
-rw-r--r--db/docs/user_preferences.yml4
-rw-r--r--db/docs/user_statuses.yml4
-rw-r--r--db/docs/users_security_dashboard_projects.yml2
-rw-r--r--db/docs/users_star_projects.yml4
-rw-r--r--db/docs/users_statistics.yml4
-rw-r--r--db/docs/verification_codes.yml2
-rw-r--r--db/docs/vulnerabilities.yml2
-rw-r--r--db/docs/vulnerability_exports.yml2
-rw-r--r--db/docs/vulnerability_external_issue_links.yml2
-rw-r--r--db/docs/vulnerability_feedback.yml2
-rw-r--r--db/docs/vulnerability_finding_evidences.yml2
-rw-r--r--db/docs/vulnerability_finding_links.yml4
-rw-r--r--db/docs/vulnerability_finding_signatures.yml2
-rw-r--r--db/docs/vulnerability_findings_remediations.yml2
-rw-r--r--db/docs/vulnerability_flags.yml2
-rw-r--r--db/docs/vulnerability_historical_statistics.yml4
-rw-r--r--db/docs/vulnerability_identifiers.yml2
-rw-r--r--db/docs/vulnerability_issue_links.yml2
-rw-r--r--db/docs/vulnerability_occurrence_identifiers.yml2
-rw-r--r--db/docs/vulnerability_occurrence_pipelines.yml4
-rw-r--r--db/docs/vulnerability_occurrences.yml2
-rw-r--r--db/docs/vulnerability_reads.yml2
-rw-r--r--db/docs/vulnerability_remediations.yml2
-rw-r--r--db/docs/vulnerability_scanners.yml2
-rw-r--r--db/docs/vulnerability_statistics.yml4
-rw-r--r--db/docs/vulnerability_user_mentions.yml4
-rw-r--r--db/docs/web_hook_logs.yml2
-rw-r--r--db/docs/web_hooks.yml2
-rw-r--r--db/docs/webauthn_registrations.yml2
-rw-r--r--db/docs/wiki_page_meta.yml2
-rw-r--r--db/docs/wiki_page_slugs.yml2
-rw-r--r--db/docs/work_item_types.yml2
-rw-r--r--db/docs/zentao_tracker_data.yml2
-rw-r--r--db/docs/zoom_meetings.yml2
-rw-r--r--db/fixtures/development/001_create_base_work_item_types.rb2
-rw-r--r--db/fixtures/development/04_labels.rb4
-rw-r--r--db/fixtures/development/33_triage_ops.rb36
-rw-r--r--db/fixtures/development/34_uploads.rb54
-rw-r--r--db/fixtures/production/003_create_base_work_item_types.rb2
-rw-r--r--db/migrate/20220213100000_remove_integration_type_triggers.rb32
-rw-r--r--db/migrate/20220324091224_add_enforce_auth_checks_on_uploads_to_project_settings.rb9
-rw-r--r--db/migrate/20220331125725_add_title_to_topic.rb10
-rw-r--r--db/migrate/20220331130726_add_text_limit_to_topics_title.rb13
-rw-r--r--db/migrate/20220401071609_add_campaign_to_in_product_marketing_email.rb35
-rw-r--r--db/migrate/20220401151123_add_last_repository_updated_at_to_project_repository_state.rb8
-rw-r--r--db/migrate/20220406133049_add_delayed_group_deletion_to_application_settings.rb11
-rw-r--r--db/migrate/20220412060931_add_nullify_build_data_trigger_on_merge_request_metrics.rb28
-rw-r--r--db/migrate/20220412135446_add_unique_fingerprint_sha256_index_to_key.rb18
-rw-r--r--db/migrate/20220412140446_add_unique_fingerprint_sha256_index_to_group_deploy_key.rb18
-rw-r--r--db/migrate/20220412140755_drop_unique_fingerprint_md5_index_from_key.rb17
-rw-r--r--db/migrate/20220412141020_drop_unique_fingerprint_md5_index_from_group_deploy_key.rb17
-rw-r--r--db/migrate/20220413054910_backfill_delayed_group_deletion.rb21
-rw-r--r--db/migrate/20220413124200_add_view_for_per_table_autovacuum_status.rb45
-rw-r--r--db/migrate/20220413164146_remove_max_seats_used_indices.rb24
-rw-r--r--db/migrate/20220413235818_add_max_seats_used_changed_at_to_gitlab_subscriptions.rb7
-rw-r--r--db/migrate/20220414203622_add_index_for_columns_user_custom_attribute.rb14
-rw-r--r--db/migrate/20220415015143_replace_iterations_cadence_date_range_constraint.rb35
-rw-r--r--db/migrate/20220419223906_add_arkose_namespace_to_application_settings.rb23
-rw-r--r--db/migrate/20220420034519_add_text_limit_to_in_product_marketing_email_campaign.rb13
-rw-r--r--db/migrate/20220420135245_fix_batched_background_migration_default_arguments.rb7
-rw-r--r--db/migrate/20220420173247_add_group_inheritance_type_to_pe_authorizable.rb14
-rw-r--r--db/migrate/20220420192542_add_id_for_cleanup_index_packages_package_files.rb19
-rw-r--r--db/migrate/20220421114418_make_fingerprint_nullable_for_group_deploy_key.rb11
-rw-r--r--db/migrate/20220421141342_add_allowed_plans_to_ci_runners.rb9
-rw-r--r--db/migrate/20220421144758_change_dotenv_plan_limits_for_old_plans.rb19
-rw-r--r--db/migrate/20220421180321_add_last_cleanup_deleted_tags_count_to_container_repository.rb7
-rw-r--r--db/migrate/20220422200633_fix_view_for_per_table_autovacuum_status.rb73
-rw-r--r--db/migrate/20220422220507_remove_tmp_index_supporting_leaky_regex_cleanup.rb25
-rw-r--r--db/migrate/20220425120604_create_packages_cleanup_policies.rb22
-rw-r--r--db/migrate/20220426130217_add_max_export_size_to_application_settings.rb7
-rw-r--r--db/migrate/20220502125053_recreate_index_for_project_group_link_with_group_id_and_project_id.rb18
-rw-r--r--db/migrate/20220502150408_add_slack_integrations_bot_columns.rb11
-rw-r--r--db/migrate/20220502152633_add_slack_integrations_bot_user_id_text_limit.rb13
-rw-r--r--db/migrate/20220503073401_recreate_index_for_group_group_link_with_both_group_ids.rb18
-rw-r--r--db/migrate/20220503102855_add_namespace_ci_cd_settings_table.rb16
-rw-r--r--db/migrate/20220504042847_add_slack_signing_key_to_application_settings.rb8
-rw-r--r--db/migrate/20220504140036_add_container_registry_size_to_namespace_root_storage_statistics.rb9
-rw-r--r--db/migrate/20220505092254_add_allow_stale_runner_pruning_index_to_namespace_ci_cd_settings.rb18
-rw-r--r--db/migrate/20220506180411_add_index_to_vulnerability_feedback_finding_uuid.rb17
-rw-r--r--db/migrate/20220507204024_add_separated_caches_option_to_project_ci_settings.rb9
-rw-r--r--db/migrate/20220511090324_add_last_consistency_check_cursors_to_vsa_aggregations.rb28
-rw-r--r--db/migrate/20220511151646_add_exclude_from_free_user_cap_to_namespace_settings.rb13
-rw-r--r--db/migrate/20220511191502_add_registry_migration_guard_thresholds_to_application_settings.rb15
-rw-r--r--db/migrate/20220511191503_add_pipeline_create_limit_per_project_user_sha_to_application_settings.rb7
-rw-r--r--db/post_migrate/20210413132500_reschedule_artifact_expiry_backfill_again.rb38
-rw-r--r--db/post_migrate/20211103184303_drop_runner_features_from_ci_builds_metadata.rb13
-rw-r--r--db/post_migrate/20220213103859_remove_integrations_type.rb132
-rw-r--r--db/post_migrate/20220314154235_migrate_vulnerability_approval_rules.rb17
-rw-r--r--db/post_migrate/20220315181136_backfill_work_item_type_id_on_issues.rb35
-rw-r--r--db/post_migrate/20220324165436_schedule_backfill_project_settings.rb25
-rw-r--r--db/post_migrate/20220328095848_delete_failed_reset_duplicate_ci_runners_token_migration_records.rb17
-rw-r--r--db/post_migrate/20220328100456_schedule20220328_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb31
-rw-r--r--db/post_migrate/20220328100457_schedule20220328_reset_duplicate_ci_runners_token_values_on_projects.rb31
-rw-r--r--db/post_migrate/20220331133802_schedule_backfill_topics_title.rb21
-rw-r--r--db/post_migrate/20220404194649_replace_work_item_type_backfill_next_batch_strategy.rb16
-rw-r--r--db/post_migrate/20220405092619_toggle_vsa_aggregations_enable.rb19
-rw-r--r--db/post_migrate/20220411173544_cleanup_orphans_approval_project_rules.rb38
-rw-r--r--db/post_migrate/20220412044906_finalize_traversal_ids_background_migrations.rb2
-rw-r--r--db/post_migrate/20220415124802_remove_job_artifact_deprecated_geo_fields.rb29
-rw-r--r--db/post_migrate/20220415124804_remove_job_artifact_deleted_event_table.rb16
-rw-r--r--db/post_migrate/20220420061439_add_notes_null_discussion_id_temp_index.rb16
-rw-r--r--db/post_migrate/20220420061450_backfill_null_note_discussion_ids.rb31
-rw-r--r--db/post_migrate/20220420135946_update_batched_background_migration_arguments.rb19
-rw-r--r--db/post_migrate/20220420214703_schedule_backfill_draft_status_on_merge_requests_corrected_regex.rb33
-rw-r--r--db/post_migrate/20220422121443_add_async_index_for_group_activity_events.rb13
-rw-r--r--db/post_migrate/20220425111114_add_async_index_for_project_activity_events.rb13
-rw-r--r--db/post_migrate/20220425111453_add_async_index_to_events_on_group_id_and_id.rb13
-rw-r--r--db/post_migrate/20220425121410_add_temporary_index_for_backfill_integrations_enable_ssl_verification.rb18
-rw-r--r--db/post_migrate/20220425121435_backfill_integrations_enable_ssl_verification.rb57
-rw-r--r--db/post_migrate/20220426185933_backfill_deployments_finished_at.rb20
-rw-r--r--db/post_migrate/20220428133724_schedule_expire_o_auth_tokens.rb11
-rw-r--r--db/post_migrate/20220502015011_clean_up_fix_merge_request_diff_commit_users.rb15
-rw-r--r--db/post_migrate/20220502173045_reset_too_many_tags_skipped_registry_imports.rb27
-rw-r--r--db/post_migrate/20220503114353_prepare_confidential_note_index.rb13
-rw-r--r--db/post_migrate/20220503134610_remove_requirements_management_test_reports_requirement_id.rb28
-rw-r--r--db/post_migrate/20220504083348_add_indexes_for_primary_email_post_regression_cleanup_migration.rb28
-rw-r--r--db/post_migrate/20220504083836_cleanup_after_fixing_regression_with_new_users_emails.rb59
-rw-r--r--db/post_migrate/20220504084136_drop_temporary_indexes_for_primary_email_post_regression_cleanup.rb28
-rw-r--r--db/post_migrate/20220505022001_add_index_to_deployments_on_created_at_cluster_id_and_project_id.rb29
-rw-r--r--db/post_migrate/20220505044348_fix_automatic_iterations_cadences_start_date.rb28
-rw-r--r--db/post_migrate/20220505053504_remove_namespaces_id_parent_id_inverse_partial_index.rb15
-rw-r--r--db/post_migrate/20220505060011_remove_namespaces_id_parent_id_partial_index.rb15
-rw-r--r--db/post_migrate/20220505174658_update_index_on_alerts_to_exclude_null_fingerprints.rb28
-rw-r--r--db/post_migrate/20220505193512_add_not_null_constraint_to_issues_work_item_type.rb13
-rw-r--r--db/post_migrate/20220506201639_remove_devops_adoption_security_scan_succeeded_column.rb11
-rw-r--r--db/post_migrate/20220510003916_remove_tmp_empty_traversal_ids_root_namespace_index.rb16
-rw-r--r--db/post_migrate/20220510004501_remove_tmp_empty_traversal_ids_child_namespace_index.rb16
-rw-r--r--db/post_migrate/20220511152439_remove_not_null_constraint_from_work_item_type.rb16
-rw-r--r--db/post_migrate/20220513043344_reschedule_expire_o_auth_tokens.rb31
-rw-r--r--db/post_migrate/20220517144749_remove_vulnerability_approval_rules.rb29
-rw-r--r--db/schema_migrations/202111031843031
-rw-r--r--db/schema_migrations/202202131000001
-rw-r--r--db/schema_migrations/202202131038591
-rw-r--r--db/schema_migrations/202203141542351
-rw-r--r--db/schema_migrations/202203240912241
-rw-r--r--db/schema_migrations/202203241654361
-rw-r--r--db/schema_migrations/202203280958481
-rw-r--r--db/schema_migrations/202203281004561
-rw-r--r--db/schema_migrations/202203281004571
-rw-r--r--db/schema_migrations/202203311257251
-rw-r--r--db/schema_migrations/202203311307261
-rw-r--r--db/schema_migrations/202203311338021
-rw-r--r--db/schema_migrations/202204010716091
-rw-r--r--db/schema_migrations/202204011511231
-rw-r--r--db/schema_migrations/202204050926191
-rw-r--r--db/schema_migrations/202204061330491
-rw-r--r--db/schema_migrations/202204111735441
-rw-r--r--db/schema_migrations/202204120609311
-rw-r--r--db/schema_migrations/202204121354461
-rw-r--r--db/schema_migrations/202204121404461
-rw-r--r--db/schema_migrations/202204121407551
-rw-r--r--db/schema_migrations/202204121410201
-rw-r--r--db/schema_migrations/202204130549101
-rw-r--r--db/schema_migrations/202204131242001
-rw-r--r--db/schema_migrations/202204131641461
-rw-r--r--db/schema_migrations/202204132358181
-rw-r--r--db/schema_migrations/202204142036221
-rw-r--r--db/schema_migrations/202204150151431
-rw-r--r--db/schema_migrations/202204151248021
-rw-r--r--db/schema_migrations/202204151248041
-rw-r--r--db/schema_migrations/202204192239061
-rw-r--r--db/schema_migrations/202204200345191
-rw-r--r--db/schema_migrations/202204200614391
-rw-r--r--db/schema_migrations/202204200614501
-rw-r--r--db/schema_migrations/202204201352451
-rw-r--r--db/schema_migrations/202204201359461
-rw-r--r--db/schema_migrations/202204201732471
-rw-r--r--db/schema_migrations/202204201925421
-rw-r--r--db/schema_migrations/202204202147031
-rw-r--r--db/schema_migrations/202204211144181
-rw-r--r--db/schema_migrations/202204211413421
-rw-r--r--db/schema_migrations/202204211447581
-rw-r--r--db/schema_migrations/202204211803211
-rw-r--r--db/schema_migrations/202204221214431
-rw-r--r--db/schema_migrations/202204222006331
-rw-r--r--db/schema_migrations/202204222205071
-rw-r--r--db/schema_migrations/202204251111141
-rw-r--r--db/schema_migrations/202204251114531
-rw-r--r--db/schema_migrations/202204251206041
-rw-r--r--db/schema_migrations/202204251214101
-rw-r--r--db/schema_migrations/202204251214351
-rw-r--r--db/schema_migrations/202204261302171
-rw-r--r--db/schema_migrations/202204261859331
-rw-r--r--db/schema_migrations/202204281337241
-rw-r--r--db/schema_migrations/202205020150111
-rw-r--r--db/schema_migrations/202205021250531
-rw-r--r--db/schema_migrations/202205021504081
-rw-r--r--db/schema_migrations/202205021526331
-rw-r--r--db/schema_migrations/202205021730451
-rw-r--r--db/schema_migrations/202205030734011
-rw-r--r--db/schema_migrations/202205031028551
-rw-r--r--db/schema_migrations/202205031143531
-rw-r--r--db/schema_migrations/202205031346101
-rw-r--r--db/schema_migrations/202205040428471
-rw-r--r--db/schema_migrations/202205040833481
-rw-r--r--db/schema_migrations/202205040838361
-rw-r--r--db/schema_migrations/202205040841361
-rw-r--r--db/schema_migrations/202205041400361
-rw-r--r--db/schema_migrations/202205050220011
-rw-r--r--db/schema_migrations/202205050443481
-rw-r--r--db/schema_migrations/202205050535041
-rw-r--r--db/schema_migrations/202205050600111
-rw-r--r--db/schema_migrations/202205050922541
-rw-r--r--db/schema_migrations/202205051746581
-rw-r--r--db/schema_migrations/202205051935121
-rw-r--r--db/schema_migrations/202205061804111
-rw-r--r--db/schema_migrations/202205062016391
-rw-r--r--db/schema_migrations/202205072040241
-rw-r--r--db/schema_migrations/202205100039161
-rw-r--r--db/schema_migrations/202205100045011
-rw-r--r--db/schema_migrations/202205110903241
-rw-r--r--db/schema_migrations/202205111516461
-rw-r--r--db/schema_migrations/202205111524391
-rw-r--r--db/schema_migrations/202205111915021
-rw-r--r--db/schema_migrations/202205111915031
-rw-r--r--db/schema_migrations/202205130433441
-rw-r--r--db/schema_migrations/202205171447491
-rw-r--r--db/structure.sql230
532 files changed, 2793 insertions, 673 deletions
diff --git a/db/docs/abuse_reports.yml b/db/docs/abuse_reports.yml
index b05b9618a27..dcd081e6892 100644
--- a/db/docs/abuse_reports.yml
+++ b/db/docs/abuse_reports.yml
@@ -3,7 +3,7 @@ table_name: abuse_reports
classes:
- AbuseReport
feature_categories:
-- users
-description: TODO
+- instance_resiliency
+description: Stores abuse reports from other users.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/cba7f20dc8614d12e3eeda6e14f454aeb22b9b54
milestone: '7.13'
diff --git a/db/docs/alert_management_alert_assignees.yml b/db/docs/alert_management_alert_assignees.yml
index 23b81240c11..4d5a1acb0ca 100644
--- a/db/docs/alert_management_alert_assignees.yml
+++ b/db/docs/alert_management_alert_assignees.yml
@@ -4,6 +4,6 @@ classes:
- AlertManagement::AlertAssignee
feature_categories:
- incident_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Persists metadata between users and alerts to support alert assignments
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32609
milestone: '13.1'
diff --git a/db/docs/alert_management_alert_metric_images.yml b/db/docs/alert_management_alert_metric_images.yml
index e43be4f854c..bcfa2b54b1c 100644
--- a/db/docs/alert_management_alert_metric_images.yml
+++ b/db/docs/alert_management_alert_metric_images.yml
@@ -4,6 +4,6 @@ classes:
- AlertManagement::MetricImage
feature_categories:
- incident_management
-description: TODO
+description: Persists metadata for uploads related to alerts
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80339
milestone: '14.8'
diff --git a/db/docs/alert_management_alert_user_mentions.yml b/db/docs/alert_management_alert_user_mentions.yml
index c834c2a8b12..6a3aaf2ce83 100644
--- a/db/docs/alert_management_alert_user_mentions.yml
+++ b/db/docs/alert_management_alert_user_mentions.yml
@@ -4,6 +4,6 @@ classes:
- AlertManagement::AlertUserMention
feature_categories:
- incident_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Persists metadata for system notes related to alerts
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33217
milestone: '13.1'
diff --git a/db/docs/alert_management_alerts.yml b/db/docs/alert_management_alerts.yml
index 1d5cbf0df23..ca8b02ec346 100644
--- a/db/docs/alert_management_alerts.yml
+++ b/db/docs/alert_management_alerts.yml
@@ -4,6 +4,6 @@ classes:
- AlertManagement::Alert
feature_categories:
- incident_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Persists incoming alert data including its payload
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29864
milestone: '13.0'
diff --git a/db/docs/alert_management_http_integrations.yml b/db/docs/alert_management_http_integrations.yml
index 7dba70bcb67..8fa330f0775 100644
--- a/db/docs/alert_management_http_integrations.yml
+++ b/db/docs/alert_management_http_integrations.yml
@@ -4,6 +4,6 @@ classes:
- AlertManagement::HttpIntegration
feature_categories:
- incident_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44098
+description: Persists settings for alert HTTP integrations
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43634
milestone: '13.5'
diff --git a/db/docs/allowed_email_domains.yml b/db/docs/allowed_email_domains.yml
index 69f7aa3a804..65a12dd712c 100644
--- a/db/docs/allowed_email_domains.yml
+++ b/db/docs/allowed_email_domains.yml
@@ -3,7 +3,7 @@ table_name: allowed_email_domains
classes:
- AllowedEmailDomain
feature_categories:
-- users
-description: TODO
+- subgroups
+description: Stores email domains for group, only members with email from those domains can be added to the group
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/14800
milestone: '12.2'
diff --git a/db/docs/analytics_cycle_analytics_group_value_streams.yml b/db/docs/analytics_cycle_analytics_group_value_streams.yml
index fdf620c382f..d41ed8168d0 100644
--- a/db/docs/analytics_cycle_analytics_group_value_streams.yml
+++ b/db/docs/analytics_cycle_analytics_group_value_streams.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- value_stream_management
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36658
milestone: '13.2'
diff --git a/db/docs/analytics_cycle_analytics_project_value_streams.yml b/db/docs/analytics_cycle_analytics_project_value_streams.yml
index 28c3f7082a2..9b63ea0500a 100644
--- a/db/docs/analytics_cycle_analytics_project_value_streams.yml
+++ b/db/docs/analytics_cycle_analytics_project_value_streams.yml
@@ -3,7 +3,7 @@ table_name: analytics_cycle_analytics_project_value_streams
classes:
- Analytics::CycleAnalytics::ProjectValueStream
feature_categories:
-- planning_analytics
-description: TODO
+- value_stream_management
+description: Used to store the value stream configurations for projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60925
milestone: '13.12'
diff --git a/db/docs/application_settings.yml b/db/docs/application_settings.yml
index 578e8ad5c3d..ae28221b7ac 100644
--- a/db/docs/application_settings.yml
+++ b/db/docs/application_settings.yml
@@ -6,7 +6,6 @@ feature_categories:
- continuous_integration
- integrations
- metrics
-- pages
- service_ping
- source_code_management
description: GitLab application settings
diff --git a/db/docs/approval_merge_request_rules_approved_approvers.yml b/db/docs/approval_merge_request_rules_approved_approvers.yml
index a9b46353dd0..9074a4dd39a 100644
--- a/db/docs/approval_merge_request_rules_approved_approvers.yml
+++ b/db/docs/approval_merge_request_rules_approved_approvers.yml
@@ -3,6 +3,6 @@ table_name: approval_merge_request_rules_approved_approvers
classes: []
feature_categories:
- code_review
-description: TODO
+description: Join table for approved approvers and ApprovalMergeRequestRule
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/8497
milestone: '11.7'
diff --git a/db/docs/approvers.yml b/db/docs/approvers.yml
index 01f7ac1f4e9..86fc663be93 100644
--- a/db/docs/approvers.yml
+++ b/db/docs/approvers.yml
@@ -3,7 +3,7 @@ table_name: approvers
classes:
- Approver
feature_categories:
-- security_orchestration
-description: TODO
+- code_review
+description: Approvers of given merge request
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/3cc78d89984d9c9df8372c52b7bba38e6226f9f2
milestone: '7.13'
diff --git a/db/docs/ar_internal_metadata.yml b/db/docs/ar_internal_metadata.yml
index c25904a3a1b..e299e9f6317 100644
--- a/db/docs/ar_internal_metadata.yml
+++ b/db/docs/ar_internal_metadata.yml
@@ -3,6 +3,7 @@ table_name: ar_internal_metadata
classes: []
feature_categories:
- database
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
-milestone: '13.0'
+description: >-
+ An internal table used by ActiveRecord to store information about how the database was migrated.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9ba1224867665844b117fa037e1465bb706b3685
+milestone: '0.8'
diff --git a/db/docs/atlassian_identities.yml b/db/docs/atlassian_identities.yml
index 0df18d40ab4..64e29a80817 100644
--- a/db/docs/atlassian_identities.yml
+++ b/db/docs/atlassian_identities.yml
@@ -3,7 +3,7 @@ table_name: atlassian_identities
classes:
- Atlassian::Identity
feature_categories:
-- importers
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+- authentication_and_authorization
+description: Stores Atlassian credentials that are used to integrate with Atlassian API
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40176
milestone: '13.4'
diff --git a/db/docs/authentication_events.yml b/db/docs/authentication_events.yml
index fb76b359854..7eec9124e81 100644
--- a/db/docs/authentication_events.yml
+++ b/db/docs/authentication_events.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- authentication_and_authorization
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39652
milestone: '13.4'
diff --git a/db/docs/award_emoji.yml b/db/docs/award_emoji.yml
index feef2ee340e..7405e3e57e2 100644
--- a/db/docs/award_emoji.yml
+++ b/db/docs/award_emoji.yml
@@ -3,7 +3,7 @@ table_name: award_emoji
classes:
- AwardEmoji
feature_categories:
-- snippets
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/3bdc57f0a710b3769381ecad7ea4098223ecff56
+- team_planning
+description: Store the awarding of emoji by users on Issues, Epics, and other Awardables.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3785
milestone: '8.9'
diff --git a/db/docs/background_migration_jobs.yml b/db/docs/background_migration_jobs.yml
index a07e605210f..b0fd5b58d50 100644
--- a/db/docs/background_migration_jobs.yml
+++ b/db/docs/background_migration_jobs.yml
@@ -4,6 +4,8 @@ classes:
- Gitlab::Database::BackgroundMigrationJob
feature_categories:
- database
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: >-
+ The background_migration_jobs table stores information about the jobs processed during the execution of a background migration.
+ See https://docs.gitlab.com/ee/development/database/background_migrations.html for more details.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35913
milestone: '13.2'
diff --git a/db/docs/badges.yml b/db/docs/badges.yml
index f96a3c37bcc..209d4d1d88a 100644
--- a/db/docs/badges.yml
+++ b/db/docs/badges.yml
@@ -6,6 +6,6 @@ classes:
- ProjectBadge
feature_categories:
- projects
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/8fe880dc064e0e6cd10f7176ade7c312cfb37b90
+description: Stores badges records
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17082
milestone: '10.6'
diff --git a/db/docs/batched_background_migration_job_transition_logs.yml b/db/docs/batched_background_migration_job_transition_logs.yml
index 32e18facc18..826145d82b4 100644
--- a/db/docs/batched_background_migration_job_transition_logs.yml
+++ b/db/docs/batched_background_migration_job_transition_logs.yml
@@ -4,6 +4,8 @@ classes:
- Gitlab::Database::BackgroundMigration::BatchedJobTransitionLog
feature_categories:
- database
-description: TODO
+description: >-
+ The batched_background_migration_job_transition_logs table stores information about the batched background migrations jobs transitions.
+ Every time a batched background migrations job changes to a new state, the system records that information in this table.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75113
milestone: '14.8'
diff --git a/db/docs/batched_background_migration_jobs.yml b/db/docs/batched_background_migration_jobs.yml
index ed63a1527e5..4a307d28781 100644
--- a/db/docs/batched_background_migration_jobs.yml
+++ b/db/docs/batched_background_migration_jobs.yml
@@ -4,6 +4,7 @@ classes:
- Gitlab::Database::BackgroundMigration::BatchedJob
feature_categories:
- database
-description: TODO
+description: >-
+ The batched_background_migration_jobs table stores information about the jobs created during the execution of a batched background migration.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/54628
milestone: '13.10'
diff --git a/db/docs/batched_background_migrations.yml b/db/docs/batched_background_migrations.yml
index cdb9df4824f..a8285210801 100644
--- a/db/docs/batched_background_migrations.yml
+++ b/db/docs/batched_background_migrations.yml
@@ -4,6 +4,8 @@ classes:
- Gitlab::Database::BackgroundMigration::BatchedMigration
feature_categories:
- database
-description: TODO
+description: >-
+ The batched_background_migrations table stores information about the batched background migrations present in the system.
+ See https://docs.gitlab.com/ee/development/batched_background_migrations.html for more details.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/54628
milestone: '13.10'
diff --git a/db/docs/board_assignees.yml b/db/docs/board_assignees.yml
index f570eda19ee..dd7235a440e 100644
--- a/db/docs/board_assignees.yml
+++ b/db/docs/board_assignees.yml
@@ -4,6 +4,6 @@ classes:
- BoardAssignee
feature_categories:
- team_planning
-description: TODO
+description: Used by issue boards to filter issues by assignee as part of the default scope
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/2912
milestone: '10.2'
diff --git a/db/docs/board_group_recent_visits.yml b/db/docs/board_group_recent_visits.yml
index 0dfe7f8cb4b..3e516038737 100644
--- a/db/docs/board_group_recent_visits.yml
+++ b/db/docs/board_group_recent_visits.yml
@@ -4,6 +4,6 @@ classes:
- BoardGroupRecentVisit
feature_categories:
- team_planning
-description: TODO
+description: The last group issue board visited by a user, used to redirect them from the default boards page
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/7aeab58f4861144fcc1d334907cb1b465c645001
milestone: '11.5'
diff --git a/db/docs/board_labels.yml b/db/docs/board_labels.yml
index a6e7cf8daac..33dfdd5df70 100644
--- a/db/docs/board_labels.yml
+++ b/db/docs/board_labels.yml
@@ -4,6 +4,6 @@ classes:
- BoardLabel
feature_categories:
- team_planning
-description: TODO
+description: Used by issue boards to filter issues by label as part of the default scope
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/2912
milestone: '10.2'
diff --git a/db/docs/board_project_recent_visits.yml b/db/docs/board_project_recent_visits.yml
index a1d5a03452f..bd7783acfe7 100644
--- a/db/docs/board_project_recent_visits.yml
+++ b/db/docs/board_project_recent_visits.yml
@@ -4,6 +4,6 @@ classes:
- BoardProjectRecentVisit
feature_categories:
- team_planning
-description: TODO
+description: The last project issue board visited by a user, used to redirect them from the default boards page
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/7aeab58f4861144fcc1d334907cb1b465c645001
milestone: '11.5'
diff --git a/db/docs/board_user_preferences.yml b/db/docs/board_user_preferences.yml
index 209374e9d66..61b30c4fc66 100644
--- a/db/docs/board_user_preferences.yml
+++ b/db/docs/board_user_preferences.yml
@@ -4,6 +4,6 @@ classes:
- BoardUserPreference
feature_categories:
- team_planning
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Preferences for issue boards stored on a per user basis, such as whether to hide or show labels
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33892
milestone: '13.1'
diff --git a/db/docs/boards.yml b/db/docs/boards.yml
index c837f24f3ff..bf50cecd826 100644
--- a/db/docs/boards.yml
+++ b/db/docs/boards.yml
@@ -3,7 +3,7 @@ table_name: boards
classes:
- Board
feature_categories:
-- design_management
-description: TODO
+- team_planning
+description: Configuration information for issue boards, including default scope and visibility of open and closed lists
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/611dab2e522e5e59cf09cd459a31686e65616863
milestone: '8.11'
diff --git a/db/docs/boards_epic_board_labels.yml b/db/docs/boards_epic_board_labels.yml
index 3f273abe5de..d34499f8105 100644
--- a/db/docs/boards_epic_board_labels.yml
+++ b/db/docs/boards_epic_board_labels.yml
@@ -3,7 +3,7 @@ table_name: boards_epic_board_labels
classes:
- Boards::EpicBoardLabel
feature_categories:
-- team_planning
-description: TODO
+- portfolio_management
+description: Information relating epic boards to labels used to scope the boards
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48658
milestone: '13.7'
diff --git a/db/docs/boards_epic_board_positions.yml b/db/docs/boards_epic_board_positions.yml
index 895be38e94a..88d01bc9a11 100644
--- a/db/docs/boards_epic_board_positions.yml
+++ b/db/docs/boards_epic_board_positions.yml
@@ -3,7 +3,7 @@ table_name: boards_epic_board_positions
classes:
- Boards::EpicBoardPosition
feature_categories:
-- team_planning
-description: TODO
+- portfolio_management
+description: Relates epics to epic boards by position, unique to each combination of epic and board
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48120
milestone: '13.7'
diff --git a/db/docs/boards_epic_board_recent_visits.yml b/db/docs/boards_epic_board_recent_visits.yml
index 35929e178be..c60d1400f8c 100644
--- a/db/docs/boards_epic_board_recent_visits.yml
+++ b/db/docs/boards_epic_board_recent_visits.yml
@@ -3,7 +3,7 @@ table_name: boards_epic_board_recent_visits
classes:
- Boards::EpicBoardRecentVisit
feature_categories:
-- team_planning
-description: TODO
+- portfolio_management
+description: The epic board most recently visited by users, used to determine where to redirect them by default
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60720
milestone: '13.12'
diff --git a/db/docs/boards_epic_boards.yml b/db/docs/boards_epic_boards.yml
index 0603ce71c21..7b35decdd54 100644
--- a/db/docs/boards_epic_boards.yml
+++ b/db/docs/boards_epic_boards.yml
@@ -4,6 +4,6 @@ classes:
- Boards::EpicBoard
feature_categories:
- portfolio_management
-description: TODO
+description: Configuration information for epic boards, including default scope and visibility of open and closed lists
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48658
milestone: '13.7'
diff --git a/db/docs/boards_epic_list_user_preferences.yml b/db/docs/boards_epic_list_user_preferences.yml
index 38f4a1e020b..ea3eee5a33f 100644
--- a/db/docs/boards_epic_list_user_preferences.yml
+++ b/db/docs/boards_epic_list_user_preferences.yml
@@ -3,7 +3,7 @@ table_name: boards_epic_list_user_preferences
classes:
- Boards::EpicListUserPreference
feature_categories:
-- team_planning
-description: TODO
+- portfolio_management
+description: Epic board list preferences on a per-user basis, specifically whether the user has collapsed the list or not
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/54541
milestone: '13.10'
diff --git a/db/docs/boards_epic_lists.yml b/db/docs/boards_epic_lists.yml
index 2a723b4d24e..87a15e4dde0 100644
--- a/db/docs/boards_epic_lists.yml
+++ b/db/docs/boards_epic_lists.yml
@@ -4,6 +4,6 @@ classes:
- Boards::EpicList
feature_categories:
- portfolio_management
-description: TODO
+description: Configuration of a single list within an epic board
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49728
-milestone: '13.8'
+milestone: '13.7'
diff --git a/db/docs/boards_epic_user_preferences.yml b/db/docs/boards_epic_user_preferences.yml
index 3fa841c2703..8137d370ebe 100644
--- a/db/docs/boards_epic_user_preferences.yml
+++ b/db/docs/boards_epic_user_preferences.yml
@@ -3,7 +3,7 @@ table_name: boards_epic_user_preferences
classes:
- Boards::EpicUserPreference
feature_categories:
-- team_planning
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+- portfolio_management
+description: The epic_ids used to create swimlanes on issue boards; stored per user, per board
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40360
milestone: '13.4'
diff --git a/db/docs/bulk_import_configurations.yml b/db/docs/bulk_import_configurations.yml
index 2138fbc4d56..8456e834230 100644
--- a/db/docs/bulk_import_configurations.yml
+++ b/db/docs/bulk_import_configurations.yml
@@ -4,6 +4,6 @@ classes:
- BulkImports::Configuration
feature_categories:
- importers
-description: TODO
+description: Used to store the configuration details of a bulk import of groups or projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42978
milestone: '13.5'
diff --git a/db/docs/bulk_import_entities.yml b/db/docs/bulk_import_entities.yml
index 373f5f76369..250df850949 100644
--- a/db/docs/bulk_import_entities.yml
+++ b/db/docs/bulk_import_entities.yml
@@ -4,6 +4,6 @@ classes:
- BulkImports::Entity
feature_categories:
- importers
-description: TODO
+description: Used to store and track the status of the migration of groups or projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42978
milestone: '13.5'
diff --git a/db/docs/bulk_import_export_uploads.yml b/db/docs/bulk_import_export_uploads.yml
index 7b5dcf28102..40b418b2711 100644
--- a/db/docs/bulk_import_export_uploads.yml
+++ b/db/docs/bulk_import_export_uploads.yml
@@ -4,6 +4,6 @@ classes:
- BulkImports::ExportUpload
feature_categories:
- importers
-description: TODO
+description: Used to store information of the exported files containing the data of groups or projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59976
milestone: '13.12'
diff --git a/db/docs/bulk_import_exports.yml b/db/docs/bulk_import_exports.yml
index d64391b8b52..27af7fd1892 100644
--- a/db/docs/bulk_import_exports.yml
+++ b/db/docs/bulk_import_exports.yml
@@ -4,6 +4,6 @@ classes:
- BulkImports::Export
feature_categories:
- importers
-description: TODO
+description: Used to track the generation status of export files for groups or projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59976
milestone: '13.12'
diff --git a/db/docs/bulk_import_failures.yml b/db/docs/bulk_import_failures.yml
index 52e019deeea..87a127f47c4 100644
--- a/db/docs/bulk_import_failures.yml
+++ b/db/docs/bulk_import_failures.yml
@@ -4,6 +4,6 @@ classes:
- BulkImports::Failure
feature_categories:
- importers
-description: TODO
+description: Used to store failures that occur during the migration of groups or projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47526
milestone: '13.7'
diff --git a/db/docs/bulk_import_trackers.yml b/db/docs/bulk_import_trackers.yml
index 8ad5e6a7029..6f31bfb7c80 100644
--- a/db/docs/bulk_import_trackers.yml
+++ b/db/docs/bulk_import_trackers.yml
@@ -4,6 +4,6 @@ classes:
- BulkImports::Tracker
feature_categories:
- importers
-description: TODO
+description: Used to store and track the status of each pipeline associated with the migration of groups or projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47009
milestone: '13.6'
diff --git a/db/docs/bulk_imports.yml b/db/docs/bulk_imports.yml
index 2f63f742618..354cb9c4ef7 100644
--- a/db/docs/bulk_imports.yml
+++ b/db/docs/bulk_imports.yml
@@ -4,6 +4,6 @@ classes:
- BulkImport
feature_categories:
- importers
-description: TODO
+description: Used to store and track the status of a bulk import request of groups or projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42978
milestone: '13.5'
diff --git a/db/docs/chat_names.yml b/db/docs/chat_names.yml
index aadfdfaa89f..c588c65dca5 100644
--- a/db/docs/chat_names.yml
+++ b/db/docs/chat_names.yml
@@ -3,7 +3,8 @@ table_name: chat_names
classes:
- ChatName
feature_categories:
-- users
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/c60437786bfe43344b4a5eb040437f73f37c6396
+- integrations
+- chatops
+description: Stores mappings from external chat accounts to GitLab users.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7450
milestone: '8.14'
diff --git a/db/docs/chat_teams.yml b/db/docs/chat_teams.yml
index c2b15011547..295947d77c8 100644
--- a/db/docs/chat_teams.yml
+++ b/db/docs/chat_teams.yml
@@ -3,7 +3,8 @@ table_name: chat_teams
classes:
- ChatTeam
feature_categories:
-- users
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/297dc70158f905fef4557d1ee6510bcf459a08a9
+- integrations
+- chatops
+description: Stores mappings from external chat teams to GitLab groups.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8746
milestone: '9.0'
diff --git a/db/docs/ci_build_needs.yml b/db/docs/ci_build_needs.yml
index 976d834c884..f9367124ed2 100644
--- a/db/docs/ci_build_needs.yml
+++ b/db/docs/ci_build_needs.yml
@@ -4,6 +4,6 @@ classes:
- Ci::BuildNeed
feature_categories:
- pipeline_authoring
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/e7ee84aad4237eaa16f2aba75b4d2c7860625c9d
+description: Dependencies for a specific CI/CD job.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31328
milestone: '12.2'
diff --git a/db/docs/ci_build_pending_states.yml b/db/docs/ci_build_pending_states.yml
index 7f6ce6de4a2..aa9e07d64b5 100644
--- a/db/docs/ci_build_pending_states.yml
+++ b/db/docs/ci_build_pending_states.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- continuous_integration
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41585
milestone: '13.4'
diff --git a/db/docs/ci_build_report_results.yml b/db/docs/ci_build_report_results.yml
index 101f1b0ce83..42d152221f3 100644
--- a/db/docs/ci_build_report_results.yml
+++ b/db/docs/ci_build_report_results.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- code_testing
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32991
milestone: '13.1'
diff --git a/db/docs/ci_daily_build_group_report_results.yml b/db/docs/ci_daily_build_group_report_results.yml
index 4b481176b38..8f23ac42bd0 100644
--- a/db/docs/ci_daily_build_group_report_results.yml
+++ b/db/docs/ci_daily_build_group_report_results.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- code_testing
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30387
milestone: '13.0'
diff --git a/db/docs/ci_deleted_objects.yml b/db/docs/ci_deleted_objects.yml
index 7189b0a7c6c..24d19069913 100644
--- a/db/docs/ci_deleted_objects.yml
+++ b/db/docs/ci_deleted_objects.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- build_artifacts
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44928
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9bf76fe03f8edf4f67023448161af27abb8fb521
milestone: '13.5'
diff --git a/db/docs/ci_freeze_periods.yml b/db/docs/ci_freeze_periods.yml
index ed28e4189e9..877e18acd9d 100644
--- a/db/docs/ci_freeze_periods.yml
+++ b/db/docs/ci_freeze_periods.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- continuous_integration
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29162
milestone: '13.0'
diff --git a/db/docs/ci_instance_variables.yml b/db/docs/ci_instance_variables.yml
index a73a38d2a02..aaac23556d6 100644
--- a/db/docs/ci_instance_variables.yml
+++ b/db/docs/ci_instance_variables.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- pipeline_authoring
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30156
milestone: '13.0'
diff --git a/db/docs/ci_job_artifact_states.yml b/db/docs/ci_job_artifact_states.yml
index d555c2d4564..6fe7443dd26 100644
--- a/db/docs/ci_job_artifact_states.yml
+++ b/db/docs/ci_job_artifact_states.yml
@@ -4,6 +4,6 @@ classes:
- Geo::JobArtifactState
feature_categories:
- geo_replication
-description: TODO
+description: Separate table for job artifacts containing Geo verification metadata.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75264
milestone: '14.8'
diff --git a/db/docs/ci_pipeline_artifacts.yml b/db/docs/ci_pipeline_artifacts.yml
index 31aaa42bf0f..753a57c74e2 100644
--- a/db/docs/ci_pipeline_artifacts.yml
+++ b/db/docs/ci_pipeline_artifacts.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- build_artifacts
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37969
milestone: '13.3'
diff --git a/db/docs/ci_pipeline_messages.yml b/db/docs/ci_pipeline_messages.yml
index 9a66ad366b1..ad759f5f7e6 100644
--- a/db/docs/ci_pipeline_messages.yml
+++ b/db/docs/ci_pipeline_messages.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- continuous_integration
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33762
milestone: '13.2'
diff --git a/db/docs/ci_platform_metrics.yml b/db/docs/ci_platform_metrics.yml
index 4d64ed63894..26039b8a7c8 100644
--- a/db/docs/ci_platform_metrics.yml
+++ b/db/docs/ci_platform_metrics.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- continuous_integration
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40036
milestone: '13.4'
diff --git a/db/docs/ci_runner_namespaces.yml b/db/docs/ci_runner_namespaces.yml
index 30414d064c3..ea57281076d 100644
--- a/db/docs/ci_runner_namespaces.yml
+++ b/db/docs/ci_runner_namespaces.yml
@@ -4,6 +4,6 @@ classes:
- Ci::RunnerNamespace
feature_categories:
- runner
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/0970e7b9608d6ada1c0fe45242ea092ea91068aa
+description: Relationships between runners and namespaces for group runners
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/1549239849adf31a078be7503ab2288795e337cf
milestone: '10.8'
diff --git a/db/docs/ci_runner_projects.yml b/db/docs/ci_runner_projects.yml
index 80e3a333999..120044e4a34 100644
--- a/db/docs/ci_runner_projects.yml
+++ b/db/docs/ci_runner_projects.yml
@@ -4,6 +4,6 @@ classes:
- Ci::RunnerProject
feature_categories:
- runner
-description: TODO
+description: Relationships between runners and projects for project runners
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/046b28312704f3131e72dcd2dbdacc5264d4aa62
milestone: '8.0'
diff --git a/db/docs/ci_runners.yml b/db/docs/ci_runners.yml
index 9725c668507..1ca8cb39738 100644
--- a/db/docs/ci_runners.yml
+++ b/db/docs/ci_runners.yml
@@ -4,6 +4,8 @@ classes:
- Ci::Runner
feature_categories:
- runner
-description: TODO
+- runner_fleet
+- runner_saas
+description: Registered CI runners
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/046b28312704f3131e72dcd2dbdacc5264d4aa62
milestone: '8.0'
diff --git a/db/docs/ci_sources_pipelines.yml b/db/docs/ci_sources_pipelines.yml
index a217d2453d7..1fdc758a181 100644
--- a/db/docs/ci_sources_pipelines.yml
+++ b/db/docs/ci_sources_pipelines.yml
@@ -3,7 +3,7 @@ table_name: ci_sources_pipelines
classes:
- Ci::Sources::Pipeline
feature_categories:
-- continuous_integration
-description: TODO
+- pipeline_authoring
+description: It stores parent-child and cross-project pipeline relationships.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/163983e0d7d1dab622846441bd0dd9086c78a69f
milestone: '9.3'
diff --git a/db/docs/ci_unit_tests.yml b/db/docs/ci_unit_tests.yml
index f80372511c4..c22ad567c12 100644
--- a/db/docs/ci_unit_tests.yml
+++ b/db/docs/ci_unit_tests.yml
@@ -3,7 +3,7 @@ table_name: ci_unit_tests
classes:
- Ci::UnitTest
feature_categories:
-- continuous_integration
+- code_testing
description: TODO
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56137
milestone: '13.11'
diff --git a/db/docs/cluster_agent_tokens.yml b/db/docs/cluster_agent_tokens.yml
index 9f8827ffe66..0d6265789f1 100644
--- a/db/docs/cluster_agent_tokens.yml
+++ b/db/docs/cluster_agent_tokens.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- kubernetes_management
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33228
milestone: '13.3'
diff --git a/db/docs/cluster_agents.yml b/db/docs/cluster_agents.yml
index adeda8df3e5..6593542dad6 100644
--- a/db/docs/cluster_agents.yml
+++ b/db/docs/cluster_agents.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- kubernetes_management
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33228
milestone: '13.3'
diff --git a/db/docs/clusters.yml b/db/docs/clusters.yml
index 142186e4410..cad0fd4c3b3 100644
--- a/db/docs/clusters.yml
+++ b/db/docs/clusters.yml
@@ -3,7 +3,7 @@ table_name: clusters
classes:
- Clusters::Cluster
feature_categories:
-- incident_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/d0cff7f5855f91b5479f9fdaa39d8d95ec691a9e
+- kubernetes_management
+description: Persists information about GitLab managed clusters
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14879
milestone: '10.1'
diff --git a/db/docs/clusters_applications_cilium.yml b/db/docs/clusters_applications_cilium.yml
index f91ed18fdbc..1fa71a93911 100644
--- a/db/docs/clusters_applications_cilium.yml
+++ b/db/docs/clusters_applications_cilium.yml
@@ -3,7 +3,7 @@ table_name: clusters_applications_cilium
classes:
- Clusters::Applications::Cilium
feature_categories:
-- kubernetes_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+- container_network_security
+description: Information about installed instance of Cilium in the cluster
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34601
milestone: '13.2'
diff --git a/db/docs/clusters_applications_prometheus.yml b/db/docs/clusters_applications_prometheus.yml
index 5118d286ffc..394ab63f81f 100644
--- a/db/docs/clusters_applications_prometheus.yml
+++ b/db/docs/clusters_applications_prometheus.yml
@@ -3,7 +3,7 @@ table_name: clusters_applications_prometheus
classes:
- Clusters::Applications::Prometheus
feature_categories:
-- container_network_security
-description: TODO
+- kubernetes_management
+description: Information about installed instance of Prometheus in the cluster
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/0d4548026f3060ca0a8f7aa8d8fc89838bc66130
milestone: '10.4'
diff --git a/db/docs/clusters_integration_elasticstack.yml b/db/docs/clusters_integration_elasticstack.yml
index 3536501c54d..2c2261a53e2 100644
--- a/db/docs/clusters_integration_elasticstack.yml
+++ b/db/docs/clusters_integration_elasticstack.yml
@@ -3,7 +3,7 @@ table_name: clusters_integration_elasticstack
classes:
- Clusters::Integrations::ElasticStack
feature_categories:
-- integrations
+- configure
description: TODO
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61077
milestone: '13.12'
diff --git a/db/docs/clusters_integration_prometheus.yml b/db/docs/clusters_integration_prometheus.yml
index 78a1933a931..f8702226daa 100644
--- a/db/docs/clusters_integration_prometheus.yml
+++ b/db/docs/clusters_integration_prometheus.yml
@@ -4,6 +4,6 @@ classes:
- Clusters::Integrations::Prometheus
feature_categories:
- incident_management
-description: TODO
+description: Persists information about prometheus cluster integration
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59091
milestone: '13.11'
diff --git a/db/docs/commit_user_mentions.yml b/db/docs/commit_user_mentions.yml
index 96a269dcd6a..e04f2001d9c 100644
--- a/db/docs/commit_user_mentions.yml
+++ b/db/docs/commit_user_mentions.yml
@@ -3,7 +3,7 @@ table_name: commit_user_mentions
classes:
- CommitUserMention
feature_categories:
-- users
-description: TODO
+- team_planning
+description: User mentions in commit messages
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19009
milestone: '12.6'
diff --git a/db/docs/container_expiration_policies.yml b/db/docs/container_expiration_policies.yml
index e3b3e8598cd..a7027ee6f5e 100644
--- a/db/docs/container_expiration_policies.yml
+++ b/db/docs/container_expiration_policies.yml
@@ -4,6 +4,6 @@ classes:
- ContainerExpirationPolicy
feature_categories:
- container_registry
-description: TODO
+description: Project level settings for container registry cleanup policies
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20412
milestone: '12.6'
diff --git a/db/docs/container_repositories.yml b/db/docs/container_repositories.yml
index d3fa52f5126..c4eb599848a 100644
--- a/db/docs/container_repositories.yml
+++ b/db/docs/container_repositories.yml
@@ -4,6 +4,6 @@ classes:
- ContainerRepository
feature_categories:
- container_registry
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/01d159b409d8b24d36204979a73de249843d71bf
+description: Container registry repositories (images), originally named container_images, renamed in https://gitlab.com/gitlab-org/gitlab/-/commit/01d159b409d8b24d36204979a73de249843d71bf
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10109
milestone: '9.1'
diff --git a/db/docs/coverage_fuzzing_corpuses.yml b/db/docs/coverage_fuzzing_corpuses.yml
index 1ea6737dac8..3e8e55cd4e6 100644
--- a/db/docs/coverage_fuzzing_corpuses.yml
+++ b/db/docs/coverage_fuzzing_corpuses.yml
@@ -3,7 +3,7 @@ table_name: coverage_fuzzing_corpuses
classes:
- AppSec::Fuzzing::Coverage::Corpus
feature_categories:
-- code_quality
-description: TODO
+- fuzz_testing
+description: Stores additional values describing corpuses used by coverage fuzzing
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71704
milestone: '14.4'
diff --git a/db/docs/csv_issue_imports.yml b/db/docs/csv_issue_imports.yml
index 8d0968f78e0..7560876c4a0 100644
--- a/db/docs/csv_issue_imports.yml
+++ b/db/docs/csv_issue_imports.yml
@@ -4,6 +4,6 @@ classes:
- Issues::CsvImport
feature_categories:
- importers
-description: TODO
+description: Used to report the unique user usage of the CSV Issue Import feature
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44742
milestone: '13.6'
diff --git a/db/docs/custom_emoji.yml b/db/docs/custom_emoji.yml
index 1a290153544..205e652835e 100644
--- a/db/docs/custom_emoji.yml
+++ b/db/docs/custom_emoji.yml
@@ -4,6 +4,6 @@ classes:
- CustomEmoji
feature_categories:
- team_planning
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Filename and name of custom emoji created by users
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24229
milestone: '13.2'
diff --git a/db/docs/customer_relations_contacts.yml b/db/docs/customer_relations_contacts.yml
index 409295f037d..57fce1e0def 100644
--- a/db/docs/customer_relations_contacts.yml
+++ b/db/docs/customer_relations_contacts.yml
@@ -3,7 +3,7 @@ table_name: customer_relations_contacts
classes:
- CustomerRelations::Contact
feature_categories:
-- users
-description: TODO
+- service_desk
+description: Contacts, against which time can be spent by users on issues using the CRM functionality
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67985
milestone: '14.3'
diff --git a/db/docs/customer_relations_organizations.yml b/db/docs/customer_relations_organizations.yml
index 18a6709b4f3..b25c70a4fd2 100644
--- a/db/docs/customer_relations_organizations.yml
+++ b/db/docs/customer_relations_organizations.yml
@@ -3,7 +3,7 @@ table_name: customer_relations_organizations
classes:
- CustomerRelations::Organization
feature_categories:
-- subgroups
-description: TODO
+- team_planning
+description: Organizations, against which time can be spent by users on issues using the CRM functionality
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67551
milestone: '14.2'
diff --git a/db/docs/dast_scanner_profiles.yml b/db/docs/dast_scanner_profiles.yml
index 813029bde9a..f71e969e3c9 100644
--- a/db/docs/dast_scanner_profiles.yml
+++ b/db/docs/dast_scanner_profiles.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- dynamic_application_security_testing
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37404
milestone: '13.3'
diff --git a/db/docs/dast_site_profiles.yml b/db/docs/dast_site_profiles.yml
index e2ce0676d8d..b68f5cd2368 100644
--- a/db/docs/dast_site_profiles.yml
+++ b/db/docs/dast_site_profiles.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- dynamic_application_security_testing
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36659
milestone: '13.2'
diff --git a/db/docs/dast_site_tokens.yml b/db/docs/dast_site_tokens.yml
index ce8af8e6fd1..9891c9742a4 100644
--- a/db/docs/dast_site_tokens.yml
+++ b/db/docs/dast_site_tokens.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- dynamic_application_security_testing
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41639
milestone: '13.4'
diff --git a/db/docs/dast_site_validations.yml b/db/docs/dast_site_validations.yml
index 9d4a73d1d52..9e14ba276e4 100644
--- a/db/docs/dast_site_validations.yml
+++ b/db/docs/dast_site_validations.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- dynamic_application_security_testing
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41639
milestone: '13.4'
diff --git a/db/docs/dast_sites.yml b/db/docs/dast_sites.yml
index 6513a66eb8a..8b739997022 100644
--- a/db/docs/dast_sites.yml
+++ b/db/docs/dast_sites.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- dynamic_application_security_testing
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36659
milestone: '13.2'
diff --git a/db/docs/dependency_proxy_blobs.yml b/db/docs/dependency_proxy_blobs.yml
index 2d09d624fc5..ad54ac8943e 100644
--- a/db/docs/dependency_proxy_blobs.yml
+++ b/db/docs/dependency_proxy_blobs.yml
@@ -4,6 +4,6 @@ classes:
- DependencyProxy::Blob
feature_categories:
- dependency_proxy
-description: TODO
+description: Dependency proxy blob files
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/10676
milestone: '11.11'
diff --git a/db/docs/dependency_proxy_group_settings.yml b/db/docs/dependency_proxy_group_settings.yml
index 854d79f9be5..d975ca482de 100644
--- a/db/docs/dependency_proxy_group_settings.yml
+++ b/db/docs/dependency_proxy_group_settings.yml
@@ -4,6 +4,6 @@ classes:
- DependencyProxy::GroupSetting
feature_categories:
- dependency_proxy
-description: TODO
+description: Group-level settings for the dependency proxy
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/10676
milestone: '11.11'
diff --git a/db/docs/dependency_proxy_image_ttl_group_policies.yml b/db/docs/dependency_proxy_image_ttl_group_policies.yml
index d9c7af2e37d..f985c083118 100644
--- a/db/docs/dependency_proxy_image_ttl_group_policies.yml
+++ b/db/docs/dependency_proxy_image_ttl_group_policies.yml
@@ -4,6 +4,6 @@ classes:
- DependencyProxy::ImageTtlGroupPolicy
feature_categories:
- dependency_proxy
-description: TODO
+description: Group-level settings for dependency proxy cleanup policies
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68809
milestone: '14.3'
diff --git a/db/docs/dependency_proxy_manifests.yml b/db/docs/dependency_proxy_manifests.yml
index eaaac522646..408878790a0 100644
--- a/db/docs/dependency_proxy_manifests.yml
+++ b/db/docs/dependency_proxy_manifests.yml
@@ -4,6 +4,6 @@ classes:
- DependencyProxy::Manifest
feature_categories:
- dependency_proxy
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48727
+description: Dependency proxy manifest files
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48535
milestone: '13.7'
diff --git a/db/docs/description_versions.yml b/db/docs/description_versions.yml
index 868193ff26c..8fb2d481fe9 100644
--- a/db/docs/description_versions.yml
+++ b/db/docs/description_versions.yml
@@ -3,7 +3,7 @@ table_name: description_versions
classes:
- DescriptionVersion
feature_categories:
-- design_management
-description: TODO
+- team_planning
+description: The diff of the change when an edit is made to an Issue, MR or Epic description
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17147
milestone: '12.4'
diff --git a/db/docs/design_management_designs.yml b/db/docs/design_management_designs.yml
index 50ddf7ce806..abdd01899da 100644
--- a/db/docs/design_management_designs.yml
+++ b/db/docs/design_management_designs.yml
@@ -4,6 +4,6 @@ classes:
- DesignManagement::Design
feature_categories:
- design_management
-description: TODO
+description: Information about Designs, image files under management by the Design Management tool
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9801
milestone: '11.10'
diff --git a/db/docs/design_management_designs_versions.yml b/db/docs/design_management_designs_versions.yml
index 030efb93696..2613cba55d9 100644
--- a/db/docs/design_management_designs_versions.yml
+++ b/db/docs/design_management_designs_versions.yml
@@ -4,6 +4,6 @@ classes:
- DesignManagement::Action
feature_categories:
- design_management
-description: TODO
+description: The SHA referencing changes to a single design or multiple design files
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/10552
milestone: '11.10'
diff --git a/db/docs/design_management_versions.yml b/db/docs/design_management_versions.yml
index 64fdfcb11d7..8f411df6e93 100644
--- a/db/docs/design_management_versions.yml
+++ b/db/docs/design_management_versions.yml
@@ -4,6 +4,6 @@ classes:
- DesignManagement::Version
feature_categories:
- design_management
-description: TODO
+description: The SHA referencing changes to individual designs made using the Design Management tool
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9801
milestone: '11.10'
diff --git a/db/docs/design_user_mentions.yml b/db/docs/design_user_mentions.yml
index e2a9cd2c03e..74aa0d89c01 100644
--- a/db/docs/design_user_mentions.yml
+++ b/db/docs/design_user_mentions.yml
@@ -3,7 +3,7 @@ table_name: design_user_mentions
classes:
- DesignUserMention
feature_categories:
-- design_management
-description: TODO
+- team_planning
+description: User mentions in content related to designs
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19009
milestone: '12.6'
diff --git a/db/docs/diff_note_positions.yml b/db/docs/diff_note_positions.yml
index 274c34ed72e..8e8a64861ab 100644
--- a/db/docs/diff_note_positions.yml
+++ b/db/docs/diff_note_positions.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- source_code_management
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28113
milestone: '13.0'
diff --git a/db/docs/draft_notes.yml b/db/docs/draft_notes.yml
index 685dd01f3bb..9273fb5fa61 100644
--- a/db/docs/draft_notes.yml
+++ b/db/docs/draft_notes.yml
@@ -3,9 +3,8 @@ table_name: draft_notes
classes:
- DraftNote
feature_categories:
-- projects
+- code_review
- source_code_management
-- team_planning
-description: TODO
+description: Notes created during the review of an MR that are not yet published
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/4213
milestone: '11.4'
diff --git a/db/docs/elastic_reindexing_tasks.yml b/db/docs/elastic_reindexing_tasks.yml
index 640d57ea4df..049dae71d4c 100644
--- a/db/docs/elastic_reindexing_tasks.yml
+++ b/db/docs/elastic_reindexing_tasks.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- global_search
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34069
milestone: '13.2'
diff --git a/db/docs/emails.yml b/db/docs/emails.yml
index db08ba6e458..229861b1d91 100644
--- a/db/docs/emails.yml
+++ b/db/docs/emails.yml
@@ -4,6 +4,6 @@ classes:
- Email
feature_categories:
- users
-description: TODO
+description: Stores users email records
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/29cfd33d949d21d67f3892473c24d4f0a127dfe6
milestone: '6.6'
diff --git a/db/docs/epic_issues.yml b/db/docs/epic_issues.yml
index 2424213279b..506005eee4c 100644
--- a/db/docs/epic_issues.yml
+++ b/db/docs/epic_issues.yml
@@ -4,6 +4,6 @@ classes:
- EpicIssue
feature_categories:
- portfolio_management
-description: TODO
+description: The relationships between Epics and Issues
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3302
milestone: '10.2'
diff --git a/db/docs/epic_user_mentions.yml b/db/docs/epic_user_mentions.yml
index 15caca9e58b..8d2803b2526 100644
--- a/db/docs/epic_user_mentions.yml
+++ b/db/docs/epic_user_mentions.yml
@@ -3,7 +3,7 @@ table_name: epic_user_mentions
classes:
- EpicUserMention
feature_categories:
-- users
-description: TODO
+- team_planning
+description: User mentions in epic descriptions
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19009
milestone: '12.6'
diff --git a/db/docs/epics.yml b/db/docs/epics.yml
index 94f33026b1e..a8a07c445d0 100644
--- a/db/docs/epics.yml
+++ b/db/docs/epics.yml
@@ -4,6 +4,6 @@ classes:
- Epic
feature_categories:
- portfolio_management
-description: TODO
+description: Information directly related to Epics, used by epic management features and the roadmap
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3126
milestone: '10.2'
diff --git a/db/docs/error_tracking_client_keys.yml b/db/docs/error_tracking_client_keys.yml
index b9c7b74f0a3..c07fc282839 100644
--- a/db/docs/error_tracking_client_keys.yml
+++ b/db/docs/error_tracking_client_keys.yml
@@ -4,6 +4,6 @@ classes:
- ErrorTracking::ClientKey
feature_categories:
- error_tracking
-description: TODO
+description: Model to store public keys used by Sentry SDK for Error Tracking
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66466
milestone: '14.2'
diff --git a/db/docs/error_tracking_error_events.yml b/db/docs/error_tracking_error_events.yml
index 19a7f1cbfe8..9d938e47e3c 100644
--- a/db/docs/error_tracking_error_events.yml
+++ b/db/docs/error_tracking_error_events.yml
@@ -4,6 +4,6 @@ classes:
- ErrorTracking::ErrorEvent
feature_categories:
- error_tracking
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/2d1c197ab0bf10071cb52e579edd3808cb0adc21
+description: Persists error event data for the Error Tracking's GitLab backend
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/64712
milestone: '14.1'
diff --git a/db/docs/error_tracking_errors.yml b/db/docs/error_tracking_errors.yml
index b348d47c77f..a961d759da3 100644
--- a/db/docs/error_tracking_errors.yml
+++ b/db/docs/error_tracking_errors.yml
@@ -4,6 +4,6 @@ classes:
- ErrorTracking::Error
feature_categories:
- error_tracking
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/2d1c197ab0bf10071cb52e579edd3808cb0adc21
+description: Persists error data for the Error Tracking's GitLab backend
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/64712
milestone: '14.1'
diff --git a/db/docs/experiment_users.yml b/db/docs/experiment_users.yml
index a136f212a1f..38e6c57a283 100644
--- a/db/docs/experiment_users.yml
+++ b/db/docs/experiment_users.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- experimentation_conversion
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38397
milestone: '13.3'
diff --git a/db/docs/experiments.yml b/db/docs/experiments.yml
index 496c0a7644c..ef2ccfa8d89 100644
--- a/db/docs/experiments.yml
+++ b/db/docs/experiments.yml
@@ -3,7 +3,7 @@ table_name: experiments
classes:
- Experiment
feature_categories:
-- experimentation_expansion
+- experimentation_conversion
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38397
milestone: '13.3'
diff --git a/db/docs/geo_cache_invalidation_events.yml b/db/docs/geo_cache_invalidation_events.yml
index 6ae56893281..5695cddfb7f 100644
--- a/db/docs/geo_cache_invalidation_events.yml
+++ b/db/docs/geo_cache_invalidation_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::CacheInvalidationEvent
feature_categories:
- geo_replication
-description: TODO
+description: Geo event to process feature flag toggles instantly on a secondary by invalidating the cache, belongs to geo_event_log.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7738
milestone: '11.4'
diff --git a/db/docs/geo_container_repository_updated_events.yml b/db/docs/geo_container_repository_updated_events.yml
index c48c60fbf10..8d17ded97d4 100644
--- a/db/docs/geo_container_repository_updated_events.yml
+++ b/db/docs/geo_container_repository_updated_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::ContainerRepositoryUpdatedEvent
feature_categories:
- geo_replication
-description: TODO
+description: Geo event for when a container repository (image, tag, registry) gets updated, belongs to geo_event_log.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/1902d9cc74a1dc2c87fdbb39a6cdbb67092cbb5a
milestone: '12.2'
diff --git a/db/docs/geo_event_log.yml b/db/docs/geo_event_log.yml
index 122ded0537e..905383664e5 100644
--- a/db/docs/geo_event_log.yml
+++ b/db/docs/geo_event_log.yml
@@ -4,6 +4,6 @@ classes:
- Geo::EventLog
feature_categories:
- geo_replication
-description: TODO
+description: Log of all events that a Geo secondary can process. Parsed/watched through streaming replication on all secondaries.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/cb6c7cbe2a9ee05cea6926e3d8c18f6aa26f4c64
milestone: '9.3'
diff --git a/db/docs/geo_events.yml b/db/docs/geo_events.yml
index 8a56c02d33e..6e30da25f5a 100644
--- a/db/docs/geo_events.yml
+++ b/db/docs/geo_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::Event
feature_categories:
- geo_replication
-description: TODO
+description: Geo events implemented generically, used by the SSF where all object types can generate an event to be processed by the secondary sites.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23447
milestone: '12.8'
diff --git a/db/docs/geo_hashed_storage_attachments_events.yml b/db/docs/geo_hashed_storage_attachments_events.yml
index 6d98ea7d21b..457b34af0f1 100644
--- a/db/docs/geo_hashed_storage_attachments_events.yml
+++ b/db/docs/geo_hashed_storage_attachments_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::HashedStorageAttachmentsEvent
feature_categories:
- geo_replication
-description: TODO
+description: Used to replicate storage attachments migration paths on Geo secondaries from regular to hashed storage.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3544
milestone: '10.3'
diff --git a/db/docs/geo_hashed_storage_migrated_events.yml b/db/docs/geo_hashed_storage_migrated_events.yml
index 38415c32f52..175015c487d 100644
--- a/db/docs/geo_hashed_storage_migrated_events.yml
+++ b/db/docs/geo_hashed_storage_migrated_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::HashedStorageMigratedEvent
feature_categories:
- geo_replication
-description: TODO
+description: Used to replicate repository migration paths on Geo secondaries from regular to hashed storage.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3066
milestone: '10.2'
diff --git a/db/docs/geo_job_artifact_deleted_events.yml b/db/docs/geo_job_artifact_deleted_events.yml
deleted file mode 100644
index d58b0b83924..00000000000
--- a/db/docs/geo_job_artifact_deleted_events.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-table_name: geo_job_artifact_deleted_events
-classes:
-- Geo::JobArtifactDeletedEvent
-feature_categories:
-- geo_replication
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3935
-milestone: '10.4'
diff --git a/db/docs/geo_lfs_object_deleted_events.yml b/db/docs/geo_lfs_object_deleted_events.yml
index 1bf82510ee4..05cafd6d806 100644
--- a/db/docs/geo_lfs_object_deleted_events.yml
+++ b/db/docs/geo_lfs_object_deleted_events.yml
@@ -3,6 +3,6 @@ table_name: geo_lfs_object_deleted_events
classes: []
feature_categories:
- geo_replication
-description: TODO
+description: Geo event for when an LFS object gets deleted, belongs to geo_event_log.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3481
milestone: '10.2'
diff --git a/db/docs/geo_node_namespace_links.yml b/db/docs/geo_node_namespace_links.yml
index 6847760f494..cede321ed47 100644
--- a/db/docs/geo_node_namespace_links.yml
+++ b/db/docs/geo_node_namespace_links.yml
@@ -4,6 +4,6 @@ classes:
- GeoNodeNamespaceLink
feature_categories:
- geo_replication
-description: TODO
+description: Passthrough table for geo_nodes many-to-many namespaces relation.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/14c6128530579ca92fa79342d4119d25bcff1f2d
milestone: '9.5'
diff --git a/db/docs/geo_node_statuses.yml b/db/docs/geo_node_statuses.yml
index 3a7dfe16df1..ff955e79eb1 100644
--- a/db/docs/geo_node_statuses.yml
+++ b/db/docs/geo_node_statuses.yml
@@ -4,6 +4,6 @@ classes:
- GeoNodeStatus
feature_categories:
- geo_replication
-description: TODO
+description: Contains sites status and metadata for each Geo site, updated async through a scheduled worker.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3230
milestone: '10.2'
diff --git a/db/docs/geo_nodes.yml b/db/docs/geo_nodes.yml
index 143213cad96..956b79fe0a0 100644
--- a/db/docs/geo_nodes.yml
+++ b/db/docs/geo_nodes.yml
@@ -4,6 +4,6 @@ classes:
- GeoNode
feature_categories:
- geo_replication
-description: TODO
+description: Contains Geo sites configuration data and settings.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/5ab12ad02ed753dd933485094ba45512890f0b50
milestone: '8.5'
diff --git a/db/docs/geo_repositories_changed_events.yml b/db/docs/geo_repositories_changed_events.yml
index 214a4b3fe09..348d8331fe7 100644
--- a/db/docs/geo_repositories_changed_events.yml
+++ b/db/docs/geo_repositories_changed_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::RepositoriesChangedEvent
feature_categories:
- geo_replication
-description: TODO
+description: Geo event for when the repositories for selective sync of a specific Geo secondary change, belongs to geo_event_log.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/312bc703a4619b87ba2ac4e59623e7747a24502c
milestone: '9.5'
diff --git a/db/docs/geo_repository_created_events.yml b/db/docs/geo_repository_created_events.yml
index 22c546ac0a2..ea7b8558bdc 100644
--- a/db/docs/geo_repository_created_events.yml
+++ b/db/docs/geo_repository_created_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::RepositoryCreatedEvent
feature_categories:
- geo_replication
-description: TODO
+description: Geo event for when a repository gets created, belongs to geo_event_log.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/f3eacf881659b7af97b7c7ba3289237ec6cdc1cb
milestone: '10.0'
diff --git a/db/docs/geo_repository_deleted_events.yml b/db/docs/geo_repository_deleted_events.yml
index 9c2b72a0172..4814994181a 100644
--- a/db/docs/geo_repository_deleted_events.yml
+++ b/db/docs/geo_repository_deleted_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::RepositoryDeletedEvent
feature_categories:
- geo_replication
-description: TODO
+description: Geo event for when a repository gets deleted, belongs to geo_event_log.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/04c3da24ac5975b140cf2e6a7e33414543f148f5
milestone: '9.4'
diff --git a/db/docs/geo_repository_renamed_events.yml b/db/docs/geo_repository_renamed_events.yml
index 431577572e3..2e6838f51e4 100644
--- a/db/docs/geo_repository_renamed_events.yml
+++ b/db/docs/geo_repository_renamed_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::RepositoryRenamedEvent
feature_categories:
- geo_replication
-description: TODO
+description: Geo event for when a repository gets renamed, belongs to geo_event_log.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/6e5fa040d1c689fad4e110dd10be8ddba61ea7ef
milestone: '9.4'
diff --git a/db/docs/geo_repository_updated_events.yml b/db/docs/geo_repository_updated_events.yml
index 0aa83949fef..51a0033d0a7 100644
--- a/db/docs/geo_repository_updated_events.yml
+++ b/db/docs/geo_repository_updated_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::RepositoryUpdatedEvent
feature_categories:
- geo_replication
-description: TODO
+description: Geo event for when a repository gets updated (content changed), belongs to geo_event_log.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/71cc57b1e4b7721c93107357517235a18f7ba8e2
milestone: '9.3'
diff --git a/db/docs/geo_reset_checksum_events.yml b/db/docs/geo_reset_checksum_events.yml
index ba56f659295..d4aad156687 100644
--- a/db/docs/geo_reset_checksum_events.yml
+++ b/db/docs/geo_reset_checksum_events.yml
@@ -4,6 +4,6 @@ classes:
- Geo::ResetChecksumEvent
feature_categories:
- geo_replication
-description: TODO
+description: Geo event for when a project gets reverified on the primary, belongs to geo_event_log.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7394
milestone: '11.4'
diff --git a/db/docs/gitlab_subscription_histories.yml b/db/docs/gitlab_subscription_histories.yml
index 428b17a8e85..1b84c943a04 100644
--- a/db/docs/gitlab_subscription_histories.yml
+++ b/db/docs/gitlab_subscription_histories.yml
@@ -4,6 +4,6 @@ classes:
- GitlabSubscriptionHistory
feature_categories:
- purchase
-description: TODO
+description: History log for the gitlab_subscriptions table
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19694
milestone: '12.6'
diff --git a/db/docs/gitlab_subscriptions.yml b/db/docs/gitlab_subscriptions.yml
index e32156da0c8..d4a15216aa6 100644
--- a/db/docs/gitlab_subscriptions.yml
+++ b/db/docs/gitlab_subscriptions.yml
@@ -4,6 +4,6 @@ classes:
- GitlabSubscription
feature_categories:
- purchase
-description: TODO
+description: Used to store information related to GitLab subscriptions
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7885
milestone: '11.6'
diff --git a/db/docs/group_crm_settings.yml b/db/docs/group_crm_settings.yml
index 977ba21e2f8..3798512d05e 100644
--- a/db/docs/group_crm_settings.yml
+++ b/db/docs/group_crm_settings.yml
@@ -3,7 +3,7 @@ table_name: group_crm_settings
classes:
- Group::CrmSettings
feature_categories:
-- subgroups
-description: TODO
+- service_desk
+description: Group-level settings for CRM-related features
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76983
milestone: '14.7'
diff --git a/db/docs/group_custom_attributes.yml b/db/docs/group_custom_attributes.yml
index 6a06b847414..3bf4f6a0f92 100644
--- a/db/docs/group_custom_attributes.yml
+++ b/db/docs/group_custom_attributes.yml
@@ -4,6 +4,6 @@ classes:
- GroupCustomAttribute
feature_categories:
- subgroups
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/1f773a8ef5a1f76166d0455c6a5e473278885c17
+description: Stores custom attributes per group
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14593
milestone: '10.2'
diff --git a/db/docs/group_deploy_keys.yml b/db/docs/group_deploy_keys.yml
index 1b456703e37..c96b6fd0470 100644
--- a/db/docs/group_deploy_keys.yml
+++ b/db/docs/group_deploy_keys.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- secrets_management
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30886
milestone: '13.1'
diff --git a/db/docs/group_deploy_keys_groups.yml b/db/docs/group_deploy_keys_groups.yml
index e50849a6967..c8c36cc16b4 100644
--- a/db/docs/group_deploy_keys_groups.yml
+++ b/db/docs/group_deploy_keys_groups.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- advanced_deployments
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32901
milestone: '13.2'
diff --git a/db/docs/group_features.yml b/db/docs/group_features.yml
new file mode 100644
index 00000000000..ca156be4117
--- /dev/null
+++ b/db/docs/group_features.yml
@@ -0,0 +1,9 @@
+---
+table_name: group_features
+classes:
+- Groups::FeatureSetting
+feature_categories:
+- navigation
+description: Stores access levels for group features, like the wiki
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82017
+milestone: '14.10'
diff --git a/db/docs/group_import_states.yml b/db/docs/group_import_states.yml
index 72acbaa0daa..fe51c414c25 100644
--- a/db/docs/group_import_states.yml
+++ b/db/docs/group_import_states.yml
@@ -4,6 +4,6 @@ classes:
- GroupImportState
feature_categories:
- importers
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Used to store and track the group import status when using the Import/Export feature
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29588
milestone: '13.0'
diff --git a/db/docs/group_wiki_repositories.yml b/db/docs/group_wiki_repositories.yml
index 6a5a1976ca3..0c4ce444958 100644
--- a/db/docs/group_wiki_repositories.yml
+++ b/db/docs/group_wiki_repositories.yml
@@ -4,6 +4,6 @@ classes:
- GroupWikiRepository
feature_categories:
- wiki
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Stores information about group wiki repositories.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31121
milestone: '13.0'
diff --git a/db/docs/import_export_uploads.yml b/db/docs/import_export_uploads.yml
index f9295ef89c9..6cac47c8490 100644
--- a/db/docs/import_export_uploads.yml
+++ b/db/docs/import_export_uploads.yml
@@ -4,6 +4,6 @@ classes:
- ImportExportUpload
feature_categories:
- importers
-description: TODO
+description: Used to store the location of the imported or exported archives files of groups or projects when using the feature Import/Export
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/a2bf1641546a1d3eeb3e9f44734854f655c0adef
milestone: '11.1'
diff --git a/db/docs/import_failures.yml b/db/docs/import_failures.yml
index ef0e71deca3..7fb01579573 100644
--- a/db/docs/import_failures.yml
+++ b/db/docs/import_failures.yml
@@ -4,6 +4,6 @@ classes:
- ImportFailure
feature_categories:
- importers
-description: TODO
+description: Used to store group or project import failures that occur when using the Import/Export feature
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20727
milestone: '12.6'
diff --git a/db/docs/incident_management_escalation_policies.yml b/db/docs/incident_management_escalation_policies.yml
index f8bb51957fd..9584f65b14d 100644
--- a/db/docs/incident_management_escalation_policies.yml
+++ b/db/docs/incident_management_escalation_policies.yml
@@ -4,6 +4,6 @@ classes:
- IncidentManagement::EscalationPolicy
feature_categories:
- incident_management
-description: TODO
+description: Persists information about escalation policies in a project
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60685
milestone: '13.12'
diff --git a/db/docs/incident_management_escalation_rules.yml b/db/docs/incident_management_escalation_rules.yml
index 6f97d8b6524..40c1f9bdcc0 100644
--- a/db/docs/incident_management_escalation_rules.yml
+++ b/db/docs/incident_management_escalation_rules.yml
@@ -4,6 +4,6 @@ classes:
- IncidentManagement::EscalationRule
feature_categories:
- incident_management
-description: TODO
+description: Persists information about escalation rules for incident management
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60685
milestone: '13.12'
diff --git a/db/docs/incident_management_issuable_escalation_statuses.yml b/db/docs/incident_management_issuable_escalation_statuses.yml
index 4c0010f212a..466bc0314b6 100644
--- a/db/docs/incident_management_issuable_escalation_statuses.yml
+++ b/db/docs/incident_management_issuable_escalation_statuses.yml
@@ -4,6 +4,6 @@ classes:
- IncidentManagement::IssuableEscalationStatus
feature_categories:
- incident_management
-description: TODO
+description: Persists escalation status information for incidents
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/65206
milestone: '14.2'
diff --git a/db/docs/incident_management_oncall_participants.yml b/db/docs/incident_management_oncall_participants.yml
index a394afae79b..9186be4824c 100644
--- a/db/docs/incident_management_oncall_participants.yml
+++ b/db/docs/incident_management_oncall_participants.yml
@@ -4,6 +4,7 @@ classes:
- IncidentManagement::OncallParticipant
feature_categories:
- incident_management
-description: TODO
+- on_call_schedule_management
+description: Persists information about on-call rotation participants
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49058
milestone: '13.7'
diff --git a/db/docs/incident_management_oncall_rotations.yml b/db/docs/incident_management_oncall_rotations.yml
index 114973d12be..bf9df2e2d2a 100644
--- a/db/docs/incident_management_oncall_rotations.yml
+++ b/db/docs/incident_management_oncall_rotations.yml
@@ -4,6 +4,7 @@ classes:
- IncidentManagement::OncallRotation
feature_categories:
- incident_management
-description: TODO
+- on_call_schedule_management
+description: Persists information about on-call rotation
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49058
milestone: '13.7'
diff --git a/db/docs/incident_management_oncall_schedules.yml b/db/docs/incident_management_oncall_schedules.yml
index deb05826e08..9fa0ed1bec5 100644
--- a/db/docs/incident_management_oncall_schedules.yml
+++ b/db/docs/incident_management_oncall_schedules.yml
@@ -4,6 +4,7 @@ classes:
- IncidentManagement::OncallSchedule
feature_categories:
- incident_management
-description: TODO
+- on_call_schedule_management
+description: Persists on-call schedules for incident management in a project
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47407
milestone: '13.7'
diff --git a/db/docs/incident_management_oncall_shifts.yml b/db/docs/incident_management_oncall_shifts.yml
index 2e1a12032d4..6ef7de5da50 100644
--- a/db/docs/incident_management_oncall_shifts.yml
+++ b/db/docs/incident_management_oncall_shifts.yml
@@ -4,6 +4,7 @@ classes:
- IncidentManagement::OncallShift
feature_categories:
- incident_management
-description: TODO
+- on_call_schedule_management
+description: Tracks past and present on-call shifts
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49423
milestone: '13.8'
diff --git a/db/docs/incident_management_pending_alert_escalations.yml b/db/docs/incident_management_pending_alert_escalations.yml
index 5c8f456f084..c39b8d74ce2 100644
--- a/db/docs/incident_management_pending_alert_escalations.yml
+++ b/db/docs/incident_management_pending_alert_escalations.yml
@@ -4,6 +4,6 @@ classes:
- IncidentManagement::PendingEscalations::Alert
feature_categories:
- incident_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/e5cc867503dfbd54f99df90cce6be39bc4fde712
+description: Persists information about pending alert escalations for incidents
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/64274
milestone: '14.1'
diff --git a/db/docs/incident_management_pending_issue_escalations.yml b/db/docs/incident_management_pending_issue_escalations.yml
index 0956b1f9453..eb8f11fc72f 100644
--- a/db/docs/incident_management_pending_issue_escalations.yml
+++ b/db/docs/incident_management_pending_issue_escalations.yml
@@ -4,6 +4,6 @@ classes:
- IncidentManagement::PendingEscalations::Issue
feature_categories:
- incident_management
-description: TODO
+description: Represents when issues should be escalated according to a project's escalation policy
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/65209
milestone: '14.3'
diff --git a/db/docs/incident_management_timeline_events.yml b/db/docs/incident_management_timeline_events.yml
index d13a6ec29ec..6031f0d32e2 100644
--- a/db/docs/incident_management_timeline_events.yml
+++ b/db/docs/incident_management_timeline_events.yml
@@ -4,6 +4,6 @@ classes:
- IncidentManagement::TimelineEvent
feature_categories:
- incident_management
-description: TODO
+description: Persists timeline events for an incident
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74530
milestone: '14.6'
diff --git a/db/docs/integrations.yml b/db/docs/integrations.yml
index 708bd6d8b1a..4629b7558ed 100644
--- a/db/docs/integrations.yml
+++ b/db/docs/integrations.yml
@@ -50,6 +50,8 @@ classes:
- Integrations::Zentao
feature_categories:
- integrations
-description: TODO
+description: |
+ Support 3rd party integrations: Jira, Slack, etc., formerly services table.
+ https://gitlab.com/gitlab-org/gitlab/-/commit/1dab19d0d7b25cb5af27b8d10c8b615b2d38c2cf
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/64562
milestone: '9.4'
diff --git a/db/docs/internal_ids.yml b/db/docs/internal_ids.yml
index 48596a153d6..100e58ad921 100644
--- a/db/docs/internal_ids.yml
+++ b/db/docs/internal_ids.yml
@@ -3,8 +3,7 @@ table_name: internal_ids
classes:
- InternalId
feature_categories:
-- projects
-- subgroups
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/754272e392c0da088200a1b56156600973f63267
+- database
+description: Keeps track of counters scoped to a certain context, e.g. a project-wide counter for issues.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17580
milestone: '10.7'
diff --git a/db/docs/issuable_severities.yml b/db/docs/issuable_severities.yml
index 9a86931e4c3..5f9a8f5ba43 100644
--- a/db/docs/issuable_severities.yml
+++ b/db/docs/issuable_severities.yml
@@ -4,6 +4,6 @@ classes:
- IssuableSeverity
feature_categories:
- team_planning
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Integer representing severity applied to issues, currently used for incidents
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40272
milestone: '13.4'
diff --git a/db/docs/issuable_slas.yml b/db/docs/issuable_slas.yml
index 631086f68a9..14e94a3aed3 100644
--- a/db/docs/issuable_slas.yml
+++ b/db/docs/issuable_slas.yml
@@ -4,6 +4,6 @@ classes:
- IssuableSla
feature_categories:
- incident_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44928
+description: Persists information about incident SLAs for incidents
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44253
milestone: '13.5'
diff --git a/db/docs/issue_assignees.yml b/db/docs/issue_assignees.yml
index 5b09ffa4b87..f6a06e7c51d 100644
--- a/db/docs/issue_assignees.yml
+++ b/db/docs/issue_assignees.yml
@@ -4,6 +4,6 @@ classes:
- IssueAssignee
feature_categories:
- team_planning
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/ac5d8fddd6809113e3d43d94c315f993605135e9
+description: Users assigned to an issue
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1541
milestone: '9.2'
diff --git a/db/docs/issue_customer_relations_contacts.yml b/db/docs/issue_customer_relations_contacts.yml
index d88ccc1c72b..1548835f6d3 100644
--- a/db/docs/issue_customer_relations_contacts.yml
+++ b/db/docs/issue_customer_relations_contacts.yml
@@ -3,7 +3,7 @@ table_name: issue_customer_relations_contacts
classes:
- CustomerRelations::IssueContact
feature_categories:
-- purchase
-description: TODO
+- team_planning
+description: Holds Customer Relations (CRM) Contacts
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71007
milestone: '14.4'
diff --git a/db/docs/issue_email_participants.yml b/db/docs/issue_email_participants.yml
index 11995b17d2c..8cbed5f9d8f 100644
--- a/db/docs/issue_email_participants.yml
+++ b/db/docs/issue_email_participants.yml
@@ -4,6 +4,6 @@ classes:
- IssueEmailParticipant
feature_categories:
- service_desk
-description: TODO
+description: Email addresses for non-GitLab users added to issues as participants
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42943
milestone: '13.5'
diff --git a/db/docs/issue_emails.yml b/db/docs/issue_emails.yml
index 48129cff428..3f6c3ee3d72 100644
--- a/db/docs/issue_emails.yml
+++ b/db/docs/issue_emails.yml
@@ -3,7 +3,8 @@ table_name: issue_emails
classes:
- Issue::Email
feature_categories:
+- service_desk
- team_planning
-description: TODO
+description: The Message-ID of the original email that resulted in the creation of an issue
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71749
milestone: '14.6'
diff --git a/db/docs/issue_links.yml b/db/docs/issue_links.yml
index 3eb0ba63125..592a4b3873f 100644
--- a/db/docs/issue_links.yml
+++ b/db/docs/issue_links.yml
@@ -4,6 +4,6 @@ classes:
- IssueLink
feature_categories:
- team_planning
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/7afdb31770f927cf4fcca98ab675e015f39f8479
+description: Links two issues by relationship type, which can be related or blocking
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1719
milestone: '9.4'
diff --git a/db/docs/issue_tracker_data.yml b/db/docs/issue_tracker_data.yml
index 03aa6132fc4..3af23de8633 100644
--- a/db/docs/issue_tracker_data.yml
+++ b/db/docs/issue_tracker_data.yml
@@ -4,6 +4,6 @@ classes:
- Integrations::IssueTrackerData
feature_categories:
- integrations
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/1f332ae8da994509232c7601074b25514ad23c52
+description: Data related to the issue tracker integrations.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/14187
milestone: '12.0'
diff --git a/db/docs/issue_user_mentions.yml b/db/docs/issue_user_mentions.yml
index f854ac9bc96..72e0d483c64 100644
--- a/db/docs/issue_user_mentions.yml
+++ b/db/docs/issue_user_mentions.yml
@@ -4,6 +4,6 @@ classes:
- IssueUserMention
feature_categories:
- team_planning
-description: TODO
+description: User mentions in issue descriptions
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19009
milestone: '12.6'
diff --git a/db/docs/issues.yml b/db/docs/issues.yml
index f8e70998cd0..db95aea01c3 100644
--- a/db/docs/issues.yml
+++ b/db/docs/issues.yml
@@ -5,6 +5,6 @@ classes:
- WorkItem
feature_categories:
- team_planning
-description: TODO
+description: Information describing issues, which is also used by the WorkItem class
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9ba1224867665844b117fa037e1465bb706b3685
milestone: "<6.0"
diff --git a/db/docs/issues_prometheus_alert_events.yml b/db/docs/issues_prometheus_alert_events.yml
index 4a222ab3924..01ff7f9b6e4 100644
--- a/db/docs/issues_prometheus_alert_events.yml
+++ b/db/docs/issues_prometheus_alert_events.yml
@@ -3,6 +3,6 @@ table_name: issues_prometheus_alert_events
classes: []
feature_categories:
- incident_management
-description: TODO
+description: Adds relationship between PrometheusAlertEvent and issues created due to them
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17477
milestone: '12.4'
diff --git a/db/docs/issues_self_managed_prometheus_alert_events.yml b/db/docs/issues_self_managed_prometheus_alert_events.yml
index 016e1f17a6e..feb208d7c3a 100644
--- a/db/docs/issues_self_managed_prometheus_alert_events.yml
+++ b/db/docs/issues_self_managed_prometheus_alert_events.yml
@@ -3,6 +3,6 @@ table_name: issues_self_managed_prometheus_alert_events
classes: []
feature_categories:
- incident_management
-description: TODO
+description: Adds associations between Issues table and Prometheus alerts from self-managed Prometheus instances
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18046
milestone: '12.4'
diff --git a/db/docs/iterations_cadences.yml b/db/docs/iterations_cadences.yml
index d47214ba780..5c6ea38b10e 100644
--- a/db/docs/iterations_cadences.yml
+++ b/db/docs/iterations_cadences.yml
@@ -4,6 +4,6 @@ classes:
- Iterations::Cadence
feature_categories:
- team_planning
-description: TODO
+description: Defines an iteration cadence for a group, used to define how iterations should act
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50707
-milestone: '13.10'
+milestone: '13.9'
diff --git a/db/docs/jira_connect_installations.yml b/db/docs/jira_connect_installations.yml
index 0ce19242942..8695e0294b6 100644
--- a/db/docs/jira_connect_installations.yml
+++ b/db/docs/jira_connect_installations.yml
@@ -4,6 +4,6 @@ classes:
- JiraConnectInstallation
feature_categories:
- integrations
-description: TODO
+description: GitLab.com for Jira Cloud app installation data, formerly Jira Connect App.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9593
milestone: '11.9'
diff --git a/db/docs/jira_connect_subscriptions.yml b/db/docs/jira_connect_subscriptions.yml
index c7b134fb201..775ae3aa96c 100644
--- a/db/docs/jira_connect_subscriptions.yml
+++ b/db/docs/jira_connect_subscriptions.yml
@@ -4,6 +4,6 @@ classes:
- JiraConnectSubscription
feature_categories:
- integrations
-description: TODO
+description: GitLab.com for Jira Cloud app subscriptions data, formerly Jira Connect App.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/10453
milestone: '11.11'
diff --git a/db/docs/jira_imports.yml b/db/docs/jira_imports.yml
index 497b0776c4c..38cdca874e2 100644
--- a/db/docs/jira_imports.yml
+++ b/db/docs/jira_imports.yml
@@ -4,6 +4,6 @@ classes:
- JiraImportState
feature_categories:
- integrations
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
-milestone: '13.0'
+description: Track Jira issue import progress into GitLab issues.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28108
+milestone: '12.10'
diff --git a/db/docs/jira_tracker_data.yml b/db/docs/jira_tracker_data.yml
index 30915569024..6e7d6236ffa 100644
--- a/db/docs/jira_tracker_data.yml
+++ b/db/docs/jira_tracker_data.yml
@@ -4,6 +4,6 @@ classes:
- Integrations::JiraTrackerData
feature_categories:
- integrations
-description: TODO
+description: Data related to the Jira integration.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/1f332ae8da994509232c7601074b25514ad23c52
milestone: '12.0'
diff --git a/db/docs/keys.yml b/db/docs/keys.yml
index 3bb5ed48b19..d016b316c15 100644
--- a/db/docs/keys.yml
+++ b/db/docs/keys.yml
@@ -5,7 +5,8 @@ classes:
- Key
- LDAPKey
feature_categories:
-- users
-description: TODO
+- authentication_and_authorization
+- continuous_delivery
+description: SSH keys used by users or for deployments.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9ba1224867665844b117fa037e1465bb706b3685
milestone: "<6.0"
diff --git a/db/docs/label_links.yml b/db/docs/label_links.yml
index 28e261c6ea1..5eb10e5e968 100644
--- a/db/docs/label_links.yml
+++ b/db/docs/label_links.yml
@@ -4,6 +4,6 @@ classes:
- LabelLink
feature_categories:
- team_planning
-description: TODO
+description: Information linking labels with target objects that can be labelled; such as issues, MRs and epics
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/03654a6abf47c88b8b980a6707874ff78080d2fe
milestone: '7.2'
diff --git a/db/docs/label_priorities.yml b/db/docs/label_priorities.yml
index 28ff029515c..608cda8590e 100644
--- a/db/docs/label_priorities.yml
+++ b/db/docs/label_priorities.yml
@@ -4,6 +4,6 @@ classes:
- LabelPriority
feature_categories:
- team_planning
-description: TODO
+description: The relative priority assigned to a label within a project, if any
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/297892011330ecdd2fa7cbe47fbc6fd4f3b62171
-milestone: '8.13'
+milestone: '8.14'
diff --git a/db/docs/labels.yml b/db/docs/labels.yml
index aafe399e8c7..efda4b65021 100644
--- a/db/docs/labels.yml
+++ b/db/docs/labels.yml
@@ -6,6 +6,6 @@ classes:
- ProjectLabel
feature_categories:
- team_planning
-description: TODO
+description: Information related to labels, which can be associated with groups or projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/03654a6abf47c88b8b980a6707874ff78080d2fe
milestone: '7.2'
diff --git a/db/docs/lfs_file_locks.yml b/db/docs/lfs_file_locks.yml
index c7f8463165e..8cd1c2fd4f9 100644
--- a/db/docs/lfs_file_locks.yml
+++ b/db/docs/lfs_file_locks.yml
@@ -4,6 +4,6 @@ classes:
- LfsFileLock
feature_categories:
- git_lfs
-description: TODO
+description: File locks for LFS objects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/4091
milestone: '10.5'
diff --git a/db/docs/lfs_object_states.yml b/db/docs/lfs_object_states.yml
index f0f16f74b33..a18699e3557 100644
--- a/db/docs/lfs_object_states.yml
+++ b/db/docs/lfs_object_states.yml
@@ -4,6 +4,6 @@ classes:
- Geo::LfsObjectState
feature_categories:
- git_lfs
-description: TODO
+description: Geo verification states for LFS objects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63981
milestone: '14.6'
diff --git a/db/docs/lfs_objects.yml b/db/docs/lfs_objects.yml
index 575ca8f181a..0e26e3c7758 100644
--- a/db/docs/lfs_objects.yml
+++ b/db/docs/lfs_objects.yml
@@ -4,6 +4,6 @@ classes:
- LfsObject
feature_categories:
- git_lfs
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/14032d8eb1a60ae5920286249c1044be2fa27278
+description: LFS files
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/1727
milestone: '8.2'
diff --git a/db/docs/lfs_objects_projects.yml b/db/docs/lfs_objects_projects.yml
index 4a835bf7a40..85cc8f94022 100644
--- a/db/docs/lfs_objects_projects.yml
+++ b/db/docs/lfs_objects_projects.yml
@@ -5,6 +5,6 @@ classes:
feature_categories:
- git_lfs
- source_code_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/14032d8eb1a60ae5920286249c1044be2fa27278
+description: Join table relating lfs_objects and projects
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/1727
milestone: '8.2'
diff --git a/db/docs/licenses.yml b/db/docs/licenses.yml
index 433dbc9c5b5..5e178996e3d 100644
--- a/db/docs/licenses.yml
+++ b/db/docs/licenses.yml
@@ -4,6 +4,6 @@ classes:
- License
feature_categories:
- purchase
-description: TODO
+description: Used to store information related to the instance's license
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/d1f2b09fadcfba210c5121bd214b910b9f9809fd
milestone: '7.11'
diff --git a/db/docs/list_user_preferences.yml b/db/docs/list_user_preferences.yml
index a53602899eb..cd2b53fd384 100644
--- a/db/docs/list_user_preferences.yml
+++ b/db/docs/list_user_preferences.yml
@@ -3,7 +3,7 @@ table_name: list_user_preferences
classes:
- ListUserPreference
feature_categories:
-- users
-description: TODO
+- team_planning
+description: Issue board list preferences on a per-user basis, specifically whether the user has collapsed the list or not
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/15657
milestone: '12.3'
diff --git a/db/docs/lists.yml b/db/docs/lists.yml
index 5ccd20c300f..4633be6fb58 100644
--- a/db/docs/lists.yml
+++ b/db/docs/lists.yml
@@ -3,7 +3,7 @@ table_name: lists
classes:
- List
feature_categories:
-- design_management
-description: TODO
+- team_planning
+description: Configuration of a single list on an issue board
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/611dab2e522e5e59cf09cd459a31686e65616863
milestone: '8.11'
diff --git a/db/docs/member_tasks.yml b/db/docs/member_tasks.yml
index 7f55c8d6eec..8802d50176b 100644
--- a/db/docs/member_tasks.yml
+++ b/db/docs/member_tasks.yml
@@ -3,7 +3,7 @@ table_name: member_tasks
classes:
- MemberTask
feature_categories:
-- authentication_and_authorization
+- experimentation_activation
description: TODO
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69299
milestone: '14.5'
diff --git a/db/docs/members.yml b/db/docs/members.yml
index ebf8a4f3bc6..b26d0edd6c9 100644
--- a/db/docs/members.yml
+++ b/db/docs/members.yml
@@ -8,6 +8,6 @@ classes:
feature_categories:
- projects
- subgroups
-description: TODO
+description: Stores members per namespace
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/3503b504eabf95487fc3fb49df953a7d694da4fe
milestone: '7.4'
diff --git a/db/docs/merge_request_assignees.yml b/db/docs/merge_request_assignees.yml
index 38c94ff3c30..6fd82ac003e 100644
--- a/db/docs/merge_request_assignees.yml
+++ b/db/docs/merge_request_assignees.yml
@@ -4,6 +4,6 @@ classes:
- MergeRequestAssignee
feature_categories:
- code_review
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/929ee4d18da886826e9fcc15c35b4d4024bc8237
+description: Store allocated assignees for merge requests
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/26496
milestone: '11.10'
diff --git a/db/docs/merge_request_cleanup_schedules.yml b/db/docs/merge_request_cleanup_schedules.yml
index ec791ef2567..9a9338713a6 100644
--- a/db/docs/merge_request_cleanup_schedules.yml
+++ b/db/docs/merge_request_cleanup_schedules.yml
@@ -4,6 +4,6 @@ classes:
- MergeRequest::CleanupSchedule
feature_categories:
- code_review
-description: TODO
+description: Store refs cleanup schedules for merge requests
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46758
milestone: '13.6'
diff --git a/db/docs/merge_request_context_commits.yml b/db/docs/merge_request_context_commits.yml
index d9b4729c7b9..4c52a0a6c08 100644
--- a/db/docs/merge_request_context_commits.yml
+++ b/db/docs/merge_request_context_commits.yml
@@ -4,6 +4,6 @@ classes:
- MergeRequestContextCommit
feature_categories:
- code_review
-description: TODO
+description: Store context commit related data for merge requests
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23701
milestone: '12.8'
diff --git a/db/docs/merge_request_diff_commit_users.yml b/db/docs/merge_request_diff_commit_users.yml
index ab634358238..4a07b37993e 100644
--- a/db/docs/merge_request_diff_commit_users.yml
+++ b/db/docs/merge_request_diff_commit_users.yml
@@ -4,6 +4,6 @@ classes:
- MergeRequest::DiffCommitUser
feature_categories:
- code_review
-description: TODO
+description: Store commit user information for merge request diffs
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63669
milestone: '14.1'
diff --git a/db/docs/merge_request_diff_commits.yml b/db/docs/merge_request_diff_commits.yml
index 8f29d38b2a9..155b6f82612 100644
--- a/db/docs/merge_request_diff_commits.yml
+++ b/db/docs/merge_request_diff_commits.yml
@@ -4,6 +4,6 @@ classes:
- MergeRequestDiffCommit
feature_categories:
- code_review
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/aff5c9f3e5ecdd9eee2b2b60ab6367da878582fc
+description: Store commit related information within a merge request diff
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12527
milestone: '9.4'
diff --git a/db/docs/merge_request_diff_details.yml b/db/docs/merge_request_diff_details.yml
index 4d48beb4de6..ff0770e97b6 100644
--- a/db/docs/merge_request_diff_details.yml
+++ b/db/docs/merge_request_diff_details.yml
@@ -3,7 +3,7 @@ table_name: merge_request_diff_details
classes:
- MergeRequestDiffDetail
feature_categories:
-- code_review
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+- geo_replication
+description: External MR diff replication detail
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34248
milestone: '13.4'
diff --git a/db/docs/merge_request_diff_files.yml b/db/docs/merge_request_diff_files.yml
index 9d3e9c7715b..56b7b0ec6ee 100644
--- a/db/docs/merge_request_diff_files.yml
+++ b/db/docs/merge_request_diff_files.yml
@@ -4,6 +4,6 @@ classes:
- MergeRequestDiffFile
feature_categories:
- code_review
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9a73b634ab4220f68a8296ccb582a68293874489
+description: Store file related information within a merge request diff
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12047
milestone: '9.4'
diff --git a/db/docs/merge_request_diffs.yml b/db/docs/merge_request_diffs.yml
index f8df727e7fa..912f972e67d 100644
--- a/db/docs/merge_request_diffs.yml
+++ b/db/docs/merge_request_diffs.yml
@@ -4,6 +4,6 @@ classes:
- MergeRequestDiff
feature_categories:
- code_review
-description: TODO
+description: Store information about the changes made within a git push for a merge request
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/c983e8eb3d9cac01090b8657735544f71f891576
milestone: '6.6'
diff --git a/db/docs/merge_request_metrics.yml b/db/docs/merge_request_metrics.yml
index a2fb3d187d6..5faf14d0875 100644
--- a/db/docs/merge_request_metrics.yml
+++ b/db/docs/merge_request_metrics.yml
@@ -5,6 +5,6 @@ classes:
feature_categories:
- value_stream_management
- code_review
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/487906b3861068a8f81125814f919a07bfab8469
+description: Store various metrics for merge requests
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5986
milestone: '8.12'
diff --git a/db/docs/merge_request_reviewers.yml b/db/docs/merge_request_reviewers.yml
index a039a2bba84..61810bd13c9 100644
--- a/db/docs/merge_request_reviewers.yml
+++ b/db/docs/merge_request_reviewers.yml
@@ -4,6 +4,6 @@ classes:
- MergeRequestReviewer
feature_categories:
- code_review
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Store allocated reviewers for merge requests
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40358
milestone: '13.4'
diff --git a/db/docs/merge_request_user_mentions.yml b/db/docs/merge_request_user_mentions.yml
index edae95c3a65..95d2117c12b 100644
--- a/db/docs/merge_request_user_mentions.yml
+++ b/db/docs/merge_request_user_mentions.yml
@@ -3,7 +3,7 @@ table_name: merge_request_user_mentions
classes:
- MergeRequestUserMention
feature_categories:
-- code_review
-description: TODO
+- team_planning
+description: Store user mentions for merge requests
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19009
milestone: '12.6'
diff --git a/db/docs/merge_requests.yml b/db/docs/merge_requests.yml
index 49f3b2f97e8..6546d28a534 100644
--- a/db/docs/merge_requests.yml
+++ b/db/docs/merge_requests.yml
@@ -4,6 +4,6 @@ classes:
- MergeRequest
feature_categories:
- code_review
-description: TODO
+description: This is the main table that stores information about project merge requests.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/6d460aa2d6b3959593c168eed181516036525393
milestone: "<6.0"
diff --git a/db/docs/merge_requests_closing_issues.yml b/db/docs/merge_requests_closing_issues.yml
index fd68b5627f8..210419bc75f 100644
--- a/db/docs/merge_requests_closing_issues.yml
+++ b/db/docs/merge_requests_closing_issues.yml
@@ -4,6 +4,6 @@ classes:
- MergeRequestsClosingIssues
feature_categories:
- code_review
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/ba25e2f1ac61b47940f939a2d9f1d0ad417e1de2
+description: Store the events of merge request closing any issues
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5986
milestone: '8.12'
diff --git a/db/docs/metrics_dashboard_annotations.yml b/db/docs/metrics_dashboard_annotations.yml
index e5f03bf4525..a874ef0dfdc 100644
--- a/db/docs/metrics_dashboard_annotations.yml
+++ b/db/docs/metrics_dashboard_annotations.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- metrics
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27583
milestone: '13.0'
diff --git a/db/docs/metrics_users_starred_dashboards.yml b/db/docs/metrics_users_starred_dashboards.yml
index 2d86519455c..903b563d071 100644
--- a/db/docs/metrics_users_starred_dashboards.yml
+++ b/db/docs/metrics_users_starred_dashboards.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- metrics
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29912
milestone: '13.0'
diff --git a/db/docs/milestones.yml b/db/docs/milestones.yml
index be4c7540c43..c41bb289f37 100644
--- a/db/docs/milestones.yml
+++ b/db/docs/milestones.yml
@@ -4,6 +4,6 @@ classes:
- Milestone
feature_categories:
- team_planning
-description: TODO
+description: Information related to milestones, used by team planning features to timebox work
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/23d950855d6d2524d00b1f0618c008e2529f06a4
milestone: "<6.0"
diff --git a/db/docs/namespace_admin_notes.yml b/db/docs/namespace_admin_notes.yml
index afc9f814fd6..f46d8f8846b 100644
--- a/db/docs/namespace_admin_notes.yml
+++ b/db/docs/namespace_admin_notes.yml
@@ -3,7 +3,8 @@ table_name: namespace_admin_notes
classes:
- Namespace::AdminNote
feature_categories:
+- authentication_and_authorization
- subgroups
-description: TODO
+description: Contains notes about groups that are visible to server administrators.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47825
milestone: '13.11'
diff --git a/db/docs/namespace_ci_cd_settings.yml b/db/docs/namespace_ci_cd_settings.yml
new file mode 100644
index 00000000000..8159f721c98
--- /dev/null
+++ b/db/docs/namespace_ci_cd_settings.yml
@@ -0,0 +1,10 @@
+---
+table_name: namespace_ci_cd_settings
+classes:
+- NamespaceCiCdSetting
+feature_categories:
+- continuous_integration
+- runner_fleet
+description: Namespace-scoped settings related to the CI/CD domain
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86477
+milestone: '15.0'
diff --git a/db/docs/namespace_limits.yml b/db/docs/namespace_limits.yml
index 4b528dcd447..55b174f9e6f 100644
--- a/db/docs/namespace_limits.yml
+++ b/db/docs/namespace_limits.yml
@@ -3,7 +3,7 @@ table_name: namespace_limits
classes:
- NamespaceLimit
feature_categories:
-- subgroups
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+- utilization
+description: Contains limits for namespace features like storage and ci
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34746
milestone: '13.2'
diff --git a/db/docs/namespace_package_settings.yml b/db/docs/namespace_package_settings.yml
index 5d5971ca73f..518458dd02f 100644
--- a/db/docs/namespace_package_settings.yml
+++ b/db/docs/namespace_package_settings.yml
@@ -4,6 +4,6 @@ classes:
- Namespace::PackageSetting
feature_categories:
- package_registry
-description: TODO
+description: Namespace and group-level settings for the package registry
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50104
milestone: '13.8'
diff --git a/db/docs/namespace_settings.yml b/db/docs/namespace_settings.yml
index a452d2473c5..ef2f96eb46e 100644
--- a/db/docs/namespace_settings.yml
+++ b/db/docs/namespace_settings.yml
@@ -4,6 +4,6 @@ classes:
- NamespaceSetting
feature_categories:
- subgroups
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Stores settings per namespace
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36321
milestone: '13.2'
diff --git a/db/docs/namespaces.yml b/db/docs/namespaces.yml
index 49d84d15a75..0518b055e52 100644
--- a/db/docs/namespaces.yml
+++ b/db/docs/namespaces.yml
@@ -7,6 +7,6 @@ classes:
- Namespaces::UserNamespace
feature_categories:
- subgroups
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/e29ccece332e57c9fb6c532a3680e3b457e3a301
+description: Storing namespaces records for groups, users and projects
+introduced_by_url: https://github.com/gitlabhq/gitlabhq/pull/2051
milestone: "<6.0"
diff --git a/db/docs/note_diff_files.yml b/db/docs/note_diff_files.yml
index a3908378d92..33921af7f6d 100644
--- a/db/docs/note_diff_files.yml
+++ b/db/docs/note_diff_files.yml
@@ -4,6 +4,6 @@ classes:
- NoteDiffFile
feature_categories:
- code_review
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/bb8f2520b4254c9dabe377df48e29c5f17894a1d
+description: Persisted truncated note diffs
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18991
milestone: '11.0'
diff --git a/db/docs/notes.yml b/db/docs/notes.yml
index 9ceeb0e1fe1..f97bfc5bb5c 100644
--- a/db/docs/notes.yml
+++ b/db/docs/notes.yml
@@ -12,7 +12,11 @@ classes:
- SyntheticNote
- WeightNote
feature_categories:
+- code_review
+- portfolio_management
+- service_desk
+- snippets
- team_planning
-description: TODO
+description: The object at the core of comments, discussions and system notes shown on issues, MRs and epics
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9ba1224867665844b117fa037e1465bb706b3685
milestone: "<6.0"
diff --git a/db/docs/notification_settings.yml b/db/docs/notification_settings.yml
index 8791213322c..214db1ca14a 100644
--- a/db/docs/notification_settings.yml
+++ b/db/docs/notification_settings.yml
@@ -4,6 +4,6 @@ classes:
- NotificationSetting
feature_categories:
- team_planning
-description: TODO
+description: User preferences for receiving notifications related to various actions within the application
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/31b0e53015e38e51d9c02cca85c9279600b1bf85
milestone: '8.7'
diff --git a/db/docs/operations_feature_flags.yml b/db/docs/operations_feature_flags.yml
index 1a294aaa07a..c84ed55d0fb 100644
--- a/db/docs/operations_feature_flags.yml
+++ b/db/docs/operations_feature_flags.yml
@@ -3,7 +3,7 @@ table_name: operations_feature_flags
classes:
- Operations::FeatureFlag
feature_categories:
-- integrations
+- release
description: TODO
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7433
milestone: '11.4'
diff --git a/db/docs/operations_feature_flags_issues.yml b/db/docs/operations_feature_flags_issues.yml
index 9b440b5cb41..660c8161a08 100644
--- a/db/docs/operations_feature_flags_issues.yml
+++ b/db/docs/operations_feature_flags_issues.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- feature_flags
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32876
milestone: '13.1'
diff --git a/db/docs/operations_strategies_user_lists.yml b/db/docs/operations_strategies_user_lists.yml
index 7e283021e43..d56950b877c 100644
--- a/db/docs/operations_strategies_user_lists.yml
+++ b/db/docs/operations_strategies_user_lists.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- feature_flags
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30243
milestone: '13.0'
diff --git a/db/docs/operations_user_lists.yml b/db/docs/operations_user_lists.yml
index 4f1473bd09d..68af1fae839 100644
--- a/db/docs/operations_user_lists.yml
+++ b/db/docs/operations_user_lists.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- feature_flags
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28822
milestone: '13.0'
diff --git a/db/docs/packages_build_infos.yml b/db/docs/packages_build_infos.yml
index 5ddea0efdc0..5eae65c0e0e 100644
--- a/db/docs/packages_build_infos.yml
+++ b/db/docs/packages_build_infos.yml
@@ -4,6 +4,6 @@ classes:
- Packages::BuildInfo
feature_categories:
- package_registry
-description: TODO
+description: Join table relating packages_packages with ci_pipelines
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19796
milestone: '12.6'
diff --git a/db/docs/packages_cleanup_policies.yml b/db/docs/packages_cleanup_policies.yml
new file mode 100644
index 00000000000..1221c7952a0
--- /dev/null
+++ b/db/docs/packages_cleanup_policies.yml
@@ -0,0 +1,9 @@
+---
+table_name: packages_cleanup_policies
+classes:
+- Packages::Cleanup::Policy
+feature_categories:
+- package_registry
+description: Cleanup policy parameters for packages.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85918
+milestone: '15.0'
diff --git a/db/docs/packages_composer_cache_files.yml b/db/docs/packages_composer_cache_files.yml
index 97993c3f255..e6e81eb149b 100644
--- a/db/docs/packages_composer_cache_files.yml
+++ b/db/docs/packages_composer_cache_files.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Composer::CacheFile
feature_categories:
- package_registry
-description: TODO
+description: Composer packages cached SHA files (deprecated)
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51509
milestone: '13.9'
diff --git a/db/docs/packages_composer_metadata.yml b/db/docs/packages_composer_metadata.yml
index a50143c8b82..19d51711d42 100644
--- a/db/docs/packages_composer_metadata.yml
+++ b/db/docs/packages_composer_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Composer::Metadatum
feature_categories:
- package_registry
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Composer package metadata
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30448
milestone: '13.1'
diff --git a/db/docs/packages_conan_file_metadata.yml b/db/docs/packages_conan_file_metadata.yml
index 4e3c3c99933..7d4d86ee4ed 100644
--- a/db/docs/packages_conan_file_metadata.yml
+++ b/db/docs/packages_conan_file_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Conan::FileMetadatum
feature_categories:
- package_registry
-description: TODO
+description: Conan package file metadata
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16418
milestone: '12.5'
diff --git a/db/docs/packages_conan_metadata.yml b/db/docs/packages_conan_metadata.yml
index aba2904d564..82b590af698 100644
--- a/db/docs/packages_conan_metadata.yml
+++ b/db/docs/packages_conan_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Conan::Metadatum
feature_categories:
- package_registry
-description: TODO
+description: Conan package metadata
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16418
milestone: '12.5'
diff --git a/db/docs/packages_debian_file_metadata.yml b/db/docs/packages_debian_file_metadata.yml
index 3d4e17c04f3..6a86b7ec285 100644
--- a/db/docs/packages_debian_file_metadata.yml
+++ b/db/docs/packages_debian_file_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::FileMetadatum
feature_categories:
- package_registry
-description: TODO
+description: Debian package file metadata
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49692
milestone: '13.8'
diff --git a/db/docs/packages_debian_group_architectures.yml b/db/docs/packages_debian_group_architectures.yml
index b403d632dc7..4ffee154fa3 100644
--- a/db/docs/packages_debian_group_architectures.yml
+++ b/db/docs/packages_debian_group_architectures.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::GroupArchitecture
feature_categories:
- package_registry
-description: TODO
+description: Debian registry group-level architectures
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51265
milestone: '13.8'
diff --git a/db/docs/packages_debian_group_component_files.yml b/db/docs/packages_debian_group_component_files.yml
index 3b5deebdd10..dc68328e4b5 100644
--- a/db/docs/packages_debian_group_component_files.yml
+++ b/db/docs/packages_debian_group_component_files.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::GroupComponentFile
feature_categories:
- package_registry
-description: TODO
+description: Debian group-level component files
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52885
milestone: '13.9'
diff --git a/db/docs/packages_debian_group_components.yml b/db/docs/packages_debian_group_components.yml
index 6d2389fed5a..316e46b90b7 100644
--- a/db/docs/packages_debian_group_components.yml
+++ b/db/docs/packages_debian_group_components.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::GroupComponent
feature_categories:
- package_registry
-description: TODO
+description: Debian package group-level distribution components
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51732
milestone: '13.9'
diff --git a/db/docs/packages_debian_group_distribution_keys.yml b/db/docs/packages_debian_group_distribution_keys.yml
index 527c71d60c1..19d55536e37 100644
--- a/db/docs/packages_debian_group_distribution_keys.yml
+++ b/db/docs/packages_debian_group_distribution_keys.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::GroupDistributionKey
feature_categories:
- package_registry
-description: TODO
+description: Debian group-level distribution keys
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60993
milestone: '14.0'
diff --git a/db/docs/packages_debian_group_distributions.yml b/db/docs/packages_debian_group_distributions.yml
index 6512640b9f9..cb4b3bcd469 100644
--- a/db/docs/packages_debian_group_distributions.yml
+++ b/db/docs/packages_debian_group_distributions.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::GroupDistribution
feature_categories:
- package_registry
-description: TODO
+description: Debian registry group level distributions
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49405
milestone: '13.8'
diff --git a/db/docs/packages_debian_project_architectures.yml b/db/docs/packages_debian_project_architectures.yml
index 853cc81d15f..becdee8cfa6 100644
--- a/db/docs/packages_debian_project_architectures.yml
+++ b/db/docs/packages_debian_project_architectures.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::ProjectArchitecture
feature_categories:
- package_registry
-description: TODO
+description: Debian registry group-level architectures
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51265
milestone: '13.8'
diff --git a/db/docs/packages_debian_project_component_files.yml b/db/docs/packages_debian_project_component_files.yml
index cdd6355750d..5b6da936ebc 100644
--- a/db/docs/packages_debian_project_component_files.yml
+++ b/db/docs/packages_debian_project_component_files.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::ProjectComponentFile
feature_categories:
- package_registry
-description: TODO
+description: Debian project-level component files
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52885
milestone: '13.9'
diff --git a/db/docs/packages_debian_project_components.yml b/db/docs/packages_debian_project_components.yml
index c638e2c978a..44eb9a489a0 100644
--- a/db/docs/packages_debian_project_components.yml
+++ b/db/docs/packages_debian_project_components.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::ProjectComponent
feature_categories:
- package_registry
-description: TODO
+description: Debian package project-level distribution components
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51732
milestone: '13.9'
diff --git a/db/docs/packages_debian_project_distribution_keys.yml b/db/docs/packages_debian_project_distribution_keys.yml
index 81408969dec..17863f45e88 100644
--- a/db/docs/packages_debian_project_distribution_keys.yml
+++ b/db/docs/packages_debian_project_distribution_keys.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::ProjectDistributionKey
feature_categories:
- package_registry
-description: TODO
+description: Debian project-level distribution keys
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60993
milestone: '14.0'
diff --git a/db/docs/packages_debian_project_distributions.yml b/db/docs/packages_debian_project_distributions.yml
index 814ad61f878..4689b0b7534 100644
--- a/db/docs/packages_debian_project_distributions.yml
+++ b/db/docs/packages_debian_project_distributions.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::ProjectDistribution
feature_categories:
- package_registry
-description: TODO
+description: Debian package registry project level distributions
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49405
milestone: '13.8'
diff --git a/db/docs/packages_debian_publications.yml b/db/docs/packages_debian_publications.yml
index b5ae53759aa..181338308a3 100644
--- a/db/docs/packages_debian_publications.yml
+++ b/db/docs/packages_debian_publications.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Debian::Publication
feature_categories:
- package_registry
-description: TODO
+description: Debian package publications relating distributions to packages
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52916
milestone: '13.9'
diff --git a/db/docs/packages_dependencies.yml b/db/docs/packages_dependencies.yml
index ead51b0606a..27b0b2cbd9b 100644
--- a/db/docs/packages_dependencies.yml
+++ b/db/docs/packages_dependencies.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Dependency
feature_categories:
- package_registry
-description: TODO
+description: Information about package dependencies for a set of supported package types
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20549
milestone: '12.6'
diff --git a/db/docs/packages_dependency_links.yml b/db/docs/packages_dependency_links.yml
index 1045cd08e42..5a6731a9e82 100644
--- a/db/docs/packages_dependency_links.yml
+++ b/db/docs/packages_dependency_links.yml
@@ -4,6 +4,6 @@ classes:
- Packages::DependencyLink
feature_categories:
- package_registry
-description: TODO
+description: Join table between packages_packages and packages_dependencies
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20549
milestone: '12.6'
diff --git a/db/docs/packages_events.yml b/db/docs/packages_events.yml
index 2d33fb0048d..1063e26a749 100644
--- a/db/docs/packages_events.yml
+++ b/db/docs/packages_events.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Event
feature_categories:
- package_registry
-description: TODO
+description: Package tracking events (deprecated)
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846
milestone: '13.5'
diff --git a/db/docs/packages_helm_file_metadata.yml b/db/docs/packages_helm_file_metadata.yml
index 63d5f8d05e6..13b23fd88cf 100644
--- a/db/docs/packages_helm_file_metadata.yml
+++ b/db/docs/packages_helm_file_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Helm::FileMetadatum
feature_categories:
- package_registry
-description: TODO
+description: Helm package file metadata
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57017
milestone: '13.12'
diff --git a/db/docs/packages_maven_metadata.yml b/db/docs/packages_maven_metadata.yml
index 6d00fe77502..6f99f79ffc2 100644
--- a/db/docs/packages_maven_metadata.yml
+++ b/db/docs/packages_maven_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Maven::Metadatum
feature_categories:
- package_registry
-description: TODO
+description: Maven package metadata
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6607
milestone: '11.3'
diff --git a/db/docs/packages_npm_metadata.yml b/db/docs/packages_npm_metadata.yml
index 588e60ebe42..af8c20bf1c0 100644
--- a/db/docs/packages_npm_metadata.yml
+++ b/db/docs/packages_npm_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Npm::Metadatum
feature_categories:
- package_registry
-description: TODO
+description: Npm package metadata
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73639
milestone: '14.5'
diff --git a/db/docs/packages_nuget_dependency_link_metadata.yml b/db/docs/packages_nuget_dependency_link_metadata.yml
index 12234295a67..92c00306eb3 100644
--- a/db/docs/packages_nuget_dependency_link_metadata.yml
+++ b/db/docs/packages_nuget_dependency_link_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Nuget::DependencyLinkMetadatum
feature_categories:
- package_registry
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Join table between nuget target frameworks and packages_dependency_links
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30618
milestone: '13.0'
diff --git a/db/docs/packages_nuget_metadata.yml b/db/docs/packages_nuget_metadata.yml
index 5c4e1203a85..8179666c148 100644
--- a/db/docs/packages_nuget_metadata.yml
+++ b/db/docs/packages_nuget_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Nuget::Metadatum
feature_categories:
- package_registry
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
-milestone: '13.0'
+description: Nuget package metadata
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30994
+milestone: '13.1'
diff --git a/db/docs/packages_package_file_build_infos.yml b/db/docs/packages_package_file_build_infos.yml
index 808fb837e70..16996a07def 100644
--- a/db/docs/packages_package_file_build_infos.yml
+++ b/db/docs/packages_package_file_build_infos.yml
@@ -4,6 +4,6 @@ classes:
- Packages::PackageFileBuildInfo
feature_categories:
- package_registry
-description: TODO
+description: Join table relating packages_package_files and ci_pipelines
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44348
milestone: '13.6'
diff --git a/db/docs/packages_package_files.yml b/db/docs/packages_package_files.yml
index 4d7a0410ba4..c9e23f1003e 100644
--- a/db/docs/packages_package_files.yml
+++ b/db/docs/packages_package_files.yml
@@ -4,6 +4,6 @@ classes:
- Packages::PackageFile
feature_categories:
- package_registry
-description: TODO
+description: Package registry file links and file metadata for all package types
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6607
milestone: '11.3'
diff --git a/db/docs/packages_packages.yml b/db/docs/packages_packages.yml
index 2ad5ae62c88..6378aeaa565 100644
--- a/db/docs/packages_packages.yml
+++ b/db/docs/packages_packages.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Package
feature_categories:
- package_registry
-description: TODO
+description: Information for individual packages in the package registry
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6607
milestone: '11.3'
diff --git a/db/docs/packages_pypi_metadata.yml b/db/docs/packages_pypi_metadata.yml
index 4f39a392f65..7d2d8d7be05 100644
--- a/db/docs/packages_pypi_metadata.yml
+++ b/db/docs/packages_pypi_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Pypi::Metadatum
feature_categories:
- package_registry
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: PyPI package metadata
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27632
milestone: '13.0'
diff --git a/db/docs/packages_rubygems_metadata.yml b/db/docs/packages_rubygems_metadata.yml
index 0384427f782..ba521f99d77 100644
--- a/db/docs/packages_rubygems_metadata.yml
+++ b/db/docs/packages_rubygems_metadata.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Rubygems::Metadatum
feature_categories:
- package_registry
-description: TODO
+description: Ruby gems metadata
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52639
milestone: '13.9'
diff --git a/db/docs/packages_tags.yml b/db/docs/packages_tags.yml
index 760c7229e9f..41aad5590f5 100644
--- a/db/docs/packages_tags.yml
+++ b/db/docs/packages_tags.yml
@@ -4,6 +4,6 @@ classes:
- Packages::Tag
feature_categories:
- package_registry
-description: TODO
+description: Package identifier tags for supported package types. See https://docs.gitlab.com/ee/user/packages/npm_registry/#add-npm-distribution-tags for an example.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20636
milestone: '12.7'
diff --git a/db/docs/pages_deployment_states.yml b/db/docs/pages_deployment_states.yml
index 9e526eea46e..dd0ff12abbe 100644
--- a/db/docs/pages_deployment_states.yml
+++ b/db/docs/pages_deployment_states.yml
@@ -4,6 +4,6 @@ classes:
- Geo::PagesDeploymentState
feature_categories:
- pages
-description: TODO
+description: Stores verification state for Geo replicated Pages deployments.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74905
milestone: '14.6'
diff --git a/db/docs/pages_deployments.yml b/db/docs/pages_deployments.yml
index 3c96d27c179..606147f9887 100644
--- a/db/docs/pages_deployments.yml
+++ b/db/docs/pages_deployments.yml
@@ -4,6 +4,6 @@ classes:
- PagesDeployment
feature_categories:
- pages
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Stores ZIP archives for GitLab Pages websites.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41785
milestone: '13.4'
diff --git a/db/docs/pages_domain_acme_orders.yml b/db/docs/pages_domain_acme_orders.yml
index 7c1a31eac26..1bc97c3e47e 100644
--- a/db/docs/pages_domain_acme_orders.yml
+++ b/db/docs/pages_domain_acme_orders.yml
@@ -4,6 +4,6 @@ classes:
- PagesDomainAcmeOrder
feature_categories:
- pages
-description: TODO
+description: Stores ACME order information used in obtaining Let's Encrypt certificates for GitLab Pages domains.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/14014
milestone: '12.0'
diff --git a/db/docs/pages_domains.yml b/db/docs/pages_domains.yml
index 8fecb70740c..e0fc084c4c2 100644
--- a/db/docs/pages_domains.yml
+++ b/db/docs/pages_domains.yml
@@ -4,6 +4,6 @@ classes:
- PagesDomain
feature_categories:
- pages
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/807a5494fa543392ea7a996b479e577d41ff6344
+description: Store Pages domain, certificate and encryption meta data.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/173
milestone: '8.5'
diff --git a/db/docs/plan_limits.yml b/db/docs/plan_limits.yml
index a923704d568..f5ddcb11f3d 100644
--- a/db/docs/plan_limits.yml
+++ b/db/docs/plan_limits.yml
@@ -4,6 +4,6 @@ classes:
- PlanLimits
feature_categories:
- purchase
-description: TODO
+description: Contains Plan specific limits (CI minute quantities for example)
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19438
milestone: '12.5'
diff --git a/db/docs/plans.yml b/db/docs/plans.yml
index a259d1d1628..df227bcb6e9 100644
--- a/db/docs/plans.yml
+++ b/db/docs/plans.yml
@@ -4,6 +4,6 @@ classes:
- Plan
feature_categories:
- purchase
-description: TODO
+description: Contains information about purchasable Plans for GitLab namespaces
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/39ca951a0f28d147d4689379bbe48a9c14d55d9f
milestone: '9.5'
diff --git a/db/docs/programming_languages.yml b/db/docs/programming_languages.yml
index f1b44508bbb..5da5720a116 100644
--- a/db/docs/programming_languages.yml
+++ b/db/docs/programming_languages.yml
@@ -3,7 +3,7 @@ table_name: programming_languages
classes:
- ProgrammingLanguage
feature_categories:
-- projects
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/79a5d76801a45696db629e1f543f2e1d6fa4784f
+- source_code_management
+description: Contains known programming languages and their assigned colors
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19480
milestone: '11.2'
diff --git a/db/docs/project_access_tokens.yml b/db/docs/project_access_tokens.yml
index 59b1ad32857..8c53c854b64 100644
--- a/db/docs/project_access_tokens.yml
+++ b/db/docs/project_access_tokens.yml
@@ -4,5 +4,5 @@ classes: []
feature_categories:
- authentication_and_authorization
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33272
milestone: '13.1'
diff --git a/db/docs/project_alerting_settings.yml b/db/docs/project_alerting_settings.yml
index 60a23e35f71..0737c65faaf 100644
--- a/db/docs/project_alerting_settings.yml
+++ b/db/docs/project_alerting_settings.yml
@@ -4,6 +4,6 @@ classes:
- Alerting::ProjectAlertingSetting
feature_categories:
- incident_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/39aa9458c282c1dabd3623698da5af3b9a6122a9
+description: Persists project-level tokens for manual Prometheus installations
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9334
milestone: '11.8'
diff --git a/db/docs/project_authorizations.yml b/db/docs/project_authorizations.yml
index b2ca65a53d5..890997d7d33 100644
--- a/db/docs/project_authorizations.yml
+++ b/db/docs/project_authorizations.yml
@@ -4,6 +4,7 @@ classes:
- ProjectAuthorization
feature_categories:
- projects
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/fd05e26618dd0c123ca476b6f5a3d85f1cfe397a
+- authentication_and_authorization
+description: Stores maximal access to the project per user
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/6839
milestone: '8.14'
diff --git a/db/docs/project_build_artifacts_size_refreshes.yml b/db/docs/project_build_artifacts_size_refreshes.yml
new file mode 100644
index 00000000000..8f07ab9b3e1
--- /dev/null
+++ b/db/docs/project_build_artifacts_size_refreshes.yml
@@ -0,0 +1,9 @@
+---
+table_name: project_build_artifacts_size_refreshes
+classes:
+- Projects::BuildArtifactsSizeRefresh
+feature_categories:
+- build_artifacts
+description: TODO
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81306
+milestone: '14.9'
diff --git a/db/docs/project_ci_feature_usages.yml b/db/docs/project_ci_feature_usages.yml
index bc327583a8e..af9404570df 100644
--- a/db/docs/project_ci_feature_usages.yml
+++ b/db/docs/project_ci_feature_usages.yml
@@ -3,8 +3,7 @@ table_name: project_ci_feature_usages
classes:
- Projects::CiFeatureUsage
feature_categories:
-- projects
-- continuous_integration
-description: TODO
+- code_testing
+description: Project CI feature usage information
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68186
milestone: '14.2'
diff --git a/db/docs/project_compliance_framework_settings.yml b/db/docs/project_compliance_framework_settings.yml
index 3d409ca5dd6..bc5555926c1 100644
--- a/db/docs/project_compliance_framework_settings.yml
+++ b/db/docs/project_compliance_framework_settings.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- compliance_management
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28182
milestone: '13.0'
diff --git a/db/docs/project_custom_attributes.yml b/db/docs/project_custom_attributes.yml
index 56f425f4c21..90f13b4f593 100644
--- a/db/docs/project_custom_attributes.yml
+++ b/db/docs/project_custom_attributes.yml
@@ -4,6 +4,6 @@ classes:
- ProjectCustomAttribute
feature_categories:
- projects
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/6902848a9c54f9eb1bfd82fe173ad0d5d62fe2d5
+description: Stores custom attributes per project
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14593
milestone: '10.2'
diff --git a/db/docs/project_error_tracking_settings.yml b/db/docs/project_error_tracking_settings.yml
index 0a1e2571743..d10982fe712 100644
--- a/db/docs/project_error_tracking_settings.yml
+++ b/db/docs/project_error_tracking_settings.yml
@@ -4,6 +4,6 @@ classes:
- ErrorTracking::ProjectErrorTrackingSetting
feature_categories:
- error_tracking
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/f40b5860d76a8ea5d964260834a6e83516b0f1fd
+description: Project settings related to Error Tracking
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/24047
milestone: '11.7'
diff --git a/db/docs/project_export_jobs.yml b/db/docs/project_export_jobs.yml
index 2afc913a8bb..991cdbeb12a 100644
--- a/db/docs/project_export_jobs.yml
+++ b/db/docs/project_export_jobs.yml
@@ -4,6 +4,6 @@ classes:
- ProjectExportJob
feature_categories:
- importers
-description: TODO
+description: Used to track and control project export status
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23664
milestone: '12.9'
diff --git a/db/docs/project_feature_usages.yml b/db/docs/project_feature_usages.yml
index 51e8191c6e5..b3182de243b 100644
--- a/db/docs/project_feature_usages.yml
+++ b/db/docs/project_feature_usages.yml
@@ -3,7 +3,7 @@ table_name: project_feature_usages
classes:
- ProjectFeatureUsage
feature_categories:
-- product_analytics
-description: TODO
+- integrations
+description: Track Jira DVCS usage
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/21db9a55e200b23a5a47251e9df46fd548c74559
milestone: '11.8'
diff --git a/db/docs/project_features.yml b/db/docs/project_features.yml
index 7890f023485..7b94db88e70 100644
--- a/db/docs/project_features.yml
+++ b/db/docs/project_features.yml
@@ -3,7 +3,7 @@ table_name: project_features
classes:
- ProjectFeature
feature_categories:
-- projects
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/892dea67717c0efbd6a28f7639f34535ec0a8747
+- navigation
+description: Stores access levels for project features like wikis, issues, repositories, containers, ect.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5606
milestone: '8.12'
diff --git a/db/docs/project_import_data.yml b/db/docs/project_import_data.yml
index 5bff9f27dca..22c0f036b63 100644
--- a/db/docs/project_import_data.yml
+++ b/db/docs/project_import_data.yml
@@ -4,6 +4,6 @@ classes:
- ProjectImportData
feature_categories:
- importers
-description: TODO
+description: Used to store credentials and configuration of external projects when using the Import/Export feature
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/7d98c8842d6bc9b14fb410f028db7ab651961b42
milestone: '7.10'
diff --git a/db/docs/project_incident_management_settings.yml b/db/docs/project_incident_management_settings.yml
index 55413824f40..b1ef6824fe2 100644
--- a/db/docs/project_incident_management_settings.yml
+++ b/db/docs/project_incident_management_settings.yml
@@ -4,6 +4,6 @@ classes:
- IncidentManagement::ProjectIncidentManagementSetting
feature_categories:
- incident_management
-description: TODO
+description: Persists project settings for incident management
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9744
milestone: '11.9'
diff --git a/db/docs/project_mirror_data.yml b/db/docs/project_mirror_data.yml
index e6426b7f638..3ea755c04a2 100644
--- a/db/docs/project_mirror_data.yml
+++ b/db/docs/project_mirror_data.yml
@@ -4,6 +4,6 @@ classes:
- ProjectImportState
feature_categories:
- importers
-description: TODO
+description: Used to store and track the project import status when using the Import/Export feature
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/0ca479d1ce0eadfcdc0e29d0e18136f5790d5b2f
milestone: '9.3'
diff --git a/db/docs/project_pages_metadata.yml b/db/docs/project_pages_metadata.yml
index 38da6c77f83..aa792520bc3 100644
--- a/db/docs/project_pages_metadata.yml
+++ b/db/docs/project_pages_metadata.yml
@@ -4,6 +4,6 @@ classes:
- ProjectPagesMetadatum
feature_categories:
- pages
-description: TODO
+description: Store GitLab Pages metadata for projects.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17197
milestone: '12.4'
diff --git a/db/docs/project_repository_storage_moves.yml b/db/docs/project_repository_storage_moves.yml
index fe3886a7690..12fa9d33f07 100644
--- a/db/docs/project_repository_storage_moves.yml
+++ b/db/docs/project_repository_storage_moves.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- source_code_management
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29095
milestone: '13.0'
diff --git a/db/docs/project_security_settings.yml b/db/docs/project_security_settings.yml
index b1f6264950a..79ebdcae8c2 100644
--- a/db/docs/project_security_settings.yml
+++ b/db/docs/project_security_settings.yml
@@ -3,7 +3,8 @@ table_name: project_security_settings
classes:
- ProjectSecuritySetting
feature_categories:
-- projects
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+- dependency_scanning
+- container_scanning
+description: Project settings related to security features.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32577
milestone: '13.1'
diff --git a/db/docs/project_settings.yml b/db/docs/project_settings.yml
index 5aa3d6daf48..cc084590c89 100644
--- a/db/docs/project_settings.yml
+++ b/db/docs/project_settings.yml
@@ -4,6 +4,6 @@ classes:
- ProjectSetting
feature_categories:
- projects
-description: TODO
+description: Stores settings per project
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/a2a7ad291f64a5db74c1bc21fb556e6e8862d0f3
-milestone: '12.8'
+milestone: '10.8'
diff --git a/db/docs/project_topics.yml b/db/docs/project_topics.yml
index addad163923..cbe0d482586 100644
--- a/db/docs/project_topics.yml
+++ b/db/docs/project_topics.yml
@@ -4,6 +4,6 @@ classes:
- Projects::ProjectTopic
feature_categories:
- projects
-description: TODO
+description: Stores topics per project relationship
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67574
milestone: '14.3'
diff --git a/db/docs/project_tracing_settings.yml b/db/docs/project_tracing_settings.yml
index cc7e65a6cb8..1a864dc7eae 100644
--- a/db/docs/project_tracing_settings.yml
+++ b/db/docs/project_tracing_settings.yml
@@ -3,7 +3,7 @@ table_name: project_tracing_settings
classes:
- ProjectTracingSetting
feature_categories:
-- projects
+- tracing
description: TODO
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7903
milestone: '11.5'
diff --git a/db/docs/projects.yml b/db/docs/projects.yml
index 41fef75ae0c..9a845a21751 100644
--- a/db/docs/projects.yml
+++ b/db/docs/projects.yml
@@ -4,6 +4,6 @@ classes:
- Project
feature_categories:
- projects
-description: TODO
+description: Stores project records
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9ba1224867665844b117fa037e1465bb706b3685
milestone: "<6.0"
diff --git a/db/docs/prometheus_alerts.yml b/db/docs/prometheus_alerts.yml
index 0e017292f81..3d3a2e45650 100644
--- a/db/docs/prometheus_alerts.yml
+++ b/db/docs/prometheus_alerts.yml
@@ -4,6 +4,6 @@ classes:
- PrometheusAlert
feature_categories:
- incident_management
-description: TODO
+description: Persists information about prometheus alerts from an environment
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6590
milestone: '11.2'
diff --git a/db/docs/protected_environment_approval_rules.yml b/db/docs/protected_environment_approval_rules.yml
new file mode 100644
index 00000000000..ea7f0e1d05d
--- /dev/null
+++ b/db/docs/protected_environment_approval_rules.yml
@@ -0,0 +1,9 @@
+---
+table_name: protected_environment_approval_rules
+classes:
+- ProtectedEnvironments::ApprovalRule
+feature_categories:
+- continuous_delivery
+description: TODO
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82800
+milestone: '14.10'
diff --git a/db/docs/raw_usage_data.yml b/db/docs/raw_usage_data.yml
index 36dfbd7742a..c7e194d6417 100644
--- a/db/docs/raw_usage_data.yml
+++ b/db/docs/raw_usage_data.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- metrics
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38457
milestone: '13.3'
diff --git a/db/docs/redirect_routes.yml b/db/docs/redirect_routes.yml
index 315a251a921..a9b93a9b8f9 100644
--- a/db/docs/redirect_routes.yml
+++ b/db/docs/redirect_routes.yml
@@ -5,6 +5,6 @@ classes:
feature_categories:
- projects
- subgroups
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/7d02bcd2e0165a90a9f2c1edb34b064ff76afd69
+description: Stores routes for redirect after changing the path to group or project
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11136
milestone: '9.2'
diff --git a/db/docs/related_epic_links.yml b/db/docs/related_epic_links.yml
index a99b8791703..f498353c04b 100644
--- a/db/docs/related_epic_links.yml
+++ b/db/docs/related_epic_links.yml
@@ -4,6 +4,6 @@ classes:
- Epic::RelatedEpicLink
feature_categories:
- portfolio_management
-description: TODO
+description: Information on the relationship between two epics
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80499
milestone: '14.9'
diff --git a/db/docs/requirements.yml b/db/docs/requirements.yml
index fc473246e53..29340196b32 100644
--- a/db/docs/requirements.yml
+++ b/db/docs/requirements.yml
@@ -4,6 +4,6 @@ classes:
- RequirementsManagement::Requirement
feature_categories:
- requirements_management
-description: TODO
+description: Information relating to Requirements as implemented by the Requirements Management tool
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26097
milestone: '12.9'
diff --git a/db/docs/requirements_management_test_reports.yml b/db/docs/requirements_management_test_reports.yml
index a39bb19637f..b7fc5fa54f8 100644
--- a/db/docs/requirements_management_test_reports.yml
+++ b/db/docs/requirements_management_test_reports.yml
@@ -4,6 +4,6 @@ classes:
- RequirementsManagement::TestReport
feature_categories:
- requirements_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
-milestone: '13.1'
+description: Information related to Test Reports, which relate historical test outcomes to Requirements
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31643
+milestone: '13.0'
diff --git a/db/docs/resource_iteration_events.yml b/db/docs/resource_iteration_events.yml
index 96be1471854..8e61c68a6f6 100644
--- a/db/docs/resource_iteration_events.yml
+++ b/db/docs/resource_iteration_events.yml
@@ -4,6 +4,6 @@ classes:
- ResourceIterationEvent
feature_categories:
- planning_analytics
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Records the addition and removal of issues to iterations
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37617
milestone: '13.3'
diff --git a/db/docs/resource_label_events.yml b/db/docs/resource_label_events.yml
index 08b3fc0b184..b770b642452 100644
--- a/db/docs/resource_label_events.yml
+++ b/db/docs/resource_label_events.yml
@@ -4,6 +4,6 @@ classes:
- ResourceLabelEvent
feature_categories:
- planning_analytics
-description: TODO
+description: Records the addition and removal of labels from resources that can be labelled; such as issues, MRs and epics
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6697
milestone: '11.2'
diff --git a/db/docs/resource_milestone_events.yml b/db/docs/resource_milestone_events.yml
index 5a6dfdb3d61..8792bb269b6 100644
--- a/db/docs/resource_milestone_events.yml
+++ b/db/docs/resource_milestone_events.yml
@@ -3,7 +3,7 @@ table_name: resource_milestone_events
classes:
- ResourceMilestoneEvent
feature_categories:
-- team_planning
-description: TODO
+- planning_analytics
+description: Records the addition and removal of issues to milestones
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23965
milestone: '12.8'
diff --git a/db/docs/resource_state_events.yml b/db/docs/resource_state_events.yml
index c5bd88c7927..12887a5a6c4 100644
--- a/db/docs/resource_state_events.yml
+++ b/db/docs/resource_state_events.yml
@@ -3,7 +3,7 @@ table_name: resource_state_events
classes:
- ResourceStateEvent
feature_categories:
-- team_planning
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+- planning_analytics
+description: Records the change of state of issues between opened and closed
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28926
milestone: '13.0'
diff --git a/db/docs/resource_weight_events.yml b/db/docs/resource_weight_events.yml
index bc2d34d382c..3f17b312fea 100644
--- a/db/docs/resource_weight_events.yml
+++ b/db/docs/resource_weight_events.yml
@@ -3,7 +3,7 @@ table_name: resource_weight_events
classes:
- ResourceWeightEvent
feature_categories:
-- team_planning
-description: TODO
+- planning_analytics
+description: Records the change of weight on issues along with timestamps
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21515
milestone: '12.7'
diff --git a/db/docs/reviews.yml b/db/docs/reviews.yml
index 299574bbe23..5a9f4c03bfb 100644
--- a/db/docs/reviews.yml
+++ b/db/docs/reviews.yml
@@ -3,7 +3,7 @@ table_name: reviews
classes:
- Review
feature_categories:
-- review_apps
+- code_review
description: TODO
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/8442
milestone: '11.6'
diff --git a/db/docs/routes.yml b/db/docs/routes.yml
index 9b325694f03..9184309dabf 100644
--- a/db/docs/routes.yml
+++ b/db/docs/routes.yml
@@ -6,6 +6,7 @@ classes:
feature_categories:
- projects
- subgroups
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/83232be0e14cc8b35bf74532203a6e4371c15e70
+- users
+description: Stores routes per namespaces and projects
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7121
milestone: '9.0'
diff --git a/db/docs/saved_replies.yml b/db/docs/saved_replies.yml
index e4f24d2b6c9..bc667bddf4b 100644
--- a/db/docs/saved_replies.yml
+++ b/db/docs/saved_replies.yml
@@ -3,7 +3,7 @@ table_name: saved_replies
classes:
- Users::SavedReply
feature_categories:
-- users
-description: TODO
+- team_planning
+description: Text templates used to populate comments using a quick action
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80807
milestone: '14.9'
diff --git a/db/docs/schema_migrations.yml b/db/docs/schema_migrations.yml
index f09cdb7bb53..a8df9b8a767 100644
--- a/db/docs/schema_migrations.yml
+++ b/db/docs/schema_migrations.yml
@@ -5,6 +5,7 @@ classes:
- Geo::TrackingBase::SchemaMigration
feature_categories:
- database
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
-milestone: '13.0'
+description: >-
+ An internal table used by ActiveRecord to keep track of which migrations have been applied to the database.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9ba1224867665844b117fa037e1465bb706b3685
+milestone: '0.8'
diff --git a/db/docs/security_findings.yml b/db/docs/security_findings.yml
index 57a5d18c288..b4607d56dca 100644
--- a/db/docs/security_findings.yml
+++ b/db/docs/security_findings.yml
@@ -4,6 +4,6 @@ classes:
- Security::Finding
feature_categories:
- vulnerability_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Stores a subset of the Finding data which is used to optimize the pipeline security tab
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40368
milestone: '13.4'
diff --git a/db/docs/security_orchestration_policy_configurations.yml b/db/docs/security_orchestration_policy_configurations.yml
index 0505aad2317..0f91d180dc3 100644
--- a/db/docs/security_orchestration_policy_configurations.yml
+++ b/db/docs/security_orchestration_policy_configurations.yml
@@ -4,6 +4,8 @@ classes:
- Security::OrchestrationPolicyConfiguration
feature_categories:
- security_orchestration
-description: TODO
+description: |
+ Relates a Project/Namespace and Security Orchestration Policy Project, where Security
+ Policies are stored in the repository as a YAML file.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53743
milestone: '13.9'
diff --git a/db/docs/security_orchestration_policy_rule_schedules.yml b/db/docs/security_orchestration_policy_rule_schedules.yml
index a4fea57adaf..160e8657f7c 100644
--- a/db/docs/security_orchestration_policy_rule_schedules.yml
+++ b/db/docs/security_orchestration_policy_rule_schedules.yml
@@ -4,6 +4,7 @@ classes:
- Security::OrchestrationPolicyRuleSchedule
feature_categories:
- security_orchestration
-description: TODO
+description: |
+ Security policies scheduled to run based on cadence defined in the policy
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59842
milestone: '13.12'
diff --git a/db/docs/security_scans.yml b/db/docs/security_scans.yml
index e50afd83472..fc6732bc80f 100644
--- a/db/docs/security_scans.yml
+++ b/db/docs/security_scans.yml
@@ -4,6 +4,6 @@ classes:
- Security::Scan
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores information about the security scans that are a part of Ci::Build
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23669
milestone: '12.8'
diff --git a/db/docs/security_training_providers.yml b/db/docs/security_training_providers.yml
index ba805a13e47..b8c6bc7e01f 100644
--- a/db/docs/security_training_providers.yml
+++ b/db/docs/security_training_providers.yml
@@ -4,6 +4,6 @@ classes:
- Security::TrainingProvider
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores information about the available security training providers
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78195
milestone: '14.7'
diff --git a/db/docs/security_trainings.yml b/db/docs/security_trainings.yml
index 310963541f0..2e84f8a5f65 100644
--- a/db/docs/security_trainings.yml
+++ b/db/docs/security_trainings.yml
@@ -4,6 +4,6 @@ classes:
- Security::Training
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores information about the primary security training provider for a given project
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78195
milestone: '14.7'
diff --git a/db/docs/sent_notifications.yml b/db/docs/sent_notifications.yml
index db42e03c7cc..9bc7158b067 100644
--- a/db/docs/sent_notifications.yml
+++ b/db/docs/sent_notifications.yml
@@ -3,7 +3,7 @@ table_name: sent_notifications
classes:
- SentNotification
feature_categories:
-- users
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/f76eac56b9d7d4ae61010cddcca68682824b2239
+- team_planning
+description: Information related to sent email notifications that supports reply-by-email functionality
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/1173
milestone: '8.0'
diff --git a/db/docs/sentry_issues.yml b/db/docs/sentry_issues.yml
index 898d4ddbae1..af96751fc7d 100644
--- a/db/docs/sentry_issues.yml
+++ b/db/docs/sentry_issues.yml
@@ -4,6 +4,6 @@ classes:
- SentryIssue
feature_categories:
- error_tracking
-description: TODO
+description: Persists issue data for the Error Tracking's Sentry backend
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20629
milestone: '12.6'
diff --git a/db/docs/service_desk_settings.yml b/db/docs/service_desk_settings.yml
index a346b98b8ec..1e924ecd01b 100644
--- a/db/docs/service_desk_settings.yml
+++ b/db/docs/service_desk_settings.yml
@@ -4,6 +4,6 @@ classes:
- ServiceDeskSetting
feature_categories:
- service_desk
-description: TODO
+description: Settings related to Service Desk such as templates to use for email notifications
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19515
milestone: '12.6'
diff --git a/db/docs/slack_integrations.yml b/db/docs/slack_integrations.yml
index 0c4b0ea97a5..031bd77ada6 100644
--- a/db/docs/slack_integrations.yml
+++ b/db/docs/slack_integrations.yml
@@ -4,6 +4,6 @@ classes:
- SlackIntegration
feature_categories:
- integrations
-description: TODO
+description: Data related to the Slack application integration.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/f50ef96b87d8c785662e82843c22a2ef6093132e
milestone: '9.4'
diff --git a/db/docs/snippet_repositories.yml b/db/docs/snippet_repositories.yml
index c8bffcd9f7a..52a6b96c42c 100644
--- a/db/docs/snippet_repositories.yml
+++ b/db/docs/snippet_repositories.yml
@@ -4,6 +4,6 @@ classes:
- SnippetRepository
feature_categories:
- snippets
-description: TODO
+description: Stores repository information used to version control snippets.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23796
milestone: '12.8'
diff --git a/db/docs/snippet_statistics.yml b/db/docs/snippet_statistics.yml
index 4e9de04a918..390d096d1d3 100644
--- a/db/docs/snippet_statistics.yml
+++ b/db/docs/snippet_statistics.yml
@@ -4,6 +4,6 @@ classes:
- SnippetStatistics
feature_categories:
- snippets
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Stores the repository size, commit count, and file count regarding the snippet repository.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35026
milestone: '13.2'
diff --git a/db/docs/snippet_user_mentions.yml b/db/docs/snippet_user_mentions.yml
index 726b10aa62e..aee265b202a 100644
--- a/db/docs/snippet_user_mentions.yml
+++ b/db/docs/snippet_user_mentions.yml
@@ -4,6 +4,6 @@ classes:
- SnippetUserMention
feature_categories:
- snippets
-description: TODO
+description: For storing mentioned users, groups, projects referenced in a snippet description.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19009
milestone: '12.6'
diff --git a/db/docs/snippets.yml b/db/docs/snippets.yml
index b370e9c3bd6..1d8f7ca6b15 100644
--- a/db/docs/snippets.yml
+++ b/db/docs/snippets.yml
@@ -6,6 +6,6 @@ classes:
- Snippet
feature_categories:
- snippets
-description: TODO
+description: GitLab snippets allow you to store and share bits of code and text with other users.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9265de3d25715aeafd38a4ef41596dca058dc18c
-milestone: "<6.0"
+milestone: "1.0.1"
diff --git a/db/docs/software_license_policies.yml b/db/docs/software_license_policies.yml
index 7da6a69651c..478c68d8c59 100644
--- a/db/docs/software_license_policies.yml
+++ b/db/docs/software_license_policies.yml
@@ -4,6 +4,6 @@ classes:
- SoftwareLicensePolicy
feature_categories:
- license_compliance
-description: TODO
+description: Allows user to approve or deny the use certain software licenses in their project.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6246
milestone: '11.2'
diff --git a/db/docs/software_licenses.yml b/db/docs/software_licenses.yml
index 26780aa5ef9..48e78c8ca02 100644
--- a/db/docs/software_licenses.yml
+++ b/db/docs/software_licenses.yml
@@ -4,6 +4,6 @@ classes:
- SoftwareLicense
feature_categories:
- license_compliance
-description: TODO
+description: Normalized software licenses to use in conjunction with License Compliance features (like software license policies)
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6246
milestone: '11.2'
diff --git a/db/docs/sprints.yml b/db/docs/sprints.yml
index f330c47484f..7193c225dae 100644
--- a/db/docs/sprints.yml
+++ b/db/docs/sprints.yml
@@ -4,6 +4,6 @@ classes:
- Iteration
feature_categories:
- team_planning
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Also called iterations, timeboxes to which issues can be assigned. Used to plan and track work.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30125
milestone: '13.0'
diff --git a/db/docs/status_page_published_incidents.yml b/db/docs/status_page_published_incidents.yml
index 79d46ba2ad4..4a21ed156f2 100644
--- a/db/docs/status_page_published_incidents.yml
+++ b/db/docs/status_page_published_incidents.yml
@@ -4,6 +4,6 @@ classes:
- StatusPage::PublishedIncident
feature_categories:
- incident_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Corresponds to an issue which has been published to the Status Page
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29994
milestone: '13.0'
diff --git a/db/docs/status_page_settings.yml b/db/docs/status_page_settings.yml
index b4022bdb678..a5cefe70300 100644
--- a/db/docs/status_page_settings.yml
+++ b/db/docs/status_page_settings.yml
@@ -4,6 +4,6 @@ classes:
- StatusPage::ProjectSetting
feature_categories:
- incident_management
-description: TODO
+description: Project settings related to Status Page
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25863
milestone: '12.9'
diff --git a/db/docs/suggestions.yml b/db/docs/suggestions.yml
index 2ecaddb2704..837fb58af04 100644
--- a/db/docs/suggestions.yml
+++ b/db/docs/suggestions.yml
@@ -4,6 +4,6 @@ classes:
- Suggestion
feature_categories:
- code_review
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/23d6fbf1c016aba0374b9675f621d97f52d1abb9
+description: Storing code suggestions within notes
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/8656
milestone: '11.6'
diff --git a/db/docs/system_note_metadata.yml b/db/docs/system_note_metadata.yml
index 305b4501b60..40b193a4b91 100644
--- a/db/docs/system_note_metadata.yml
+++ b/db/docs/system_note_metadata.yml
@@ -3,7 +3,7 @@ table_name: system_note_metadata
classes:
- SystemNoteMetadata
feature_categories:
-- importers
-description: TODO
+- team_planning
+description: Used to store notes metadata
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/1c3c7fb25d972fc19d5b4bb371cb21094d81e478
milestone: '9.1'
diff --git a/db/docs/taggings.yml b/db/docs/taggings.yml
index a13108e705a..71078ab9c19 100644
--- a/db/docs/taggings.yml
+++ b/db/docs/taggings.yml
@@ -3,7 +3,8 @@ table_name: taggings
classes:
- ActsAsTaggableOn::Tagging
feature_categories:
+- continuous_integration
- runner
-description: TODO
+description: Taggings applied to arbitrary models based on entries in the 'tags' table
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/b946da44695c9c8fe8867bb87bcdf801c52177d3
-milestone: "<6.0"
+milestone: "1.2"
diff --git a/db/docs/tags.yml b/db/docs/tags.yml
index 2d4820d6095..9ae2a4361ff 100644
--- a/db/docs/tags.yml
+++ b/db/docs/tags.yml
@@ -3,7 +3,8 @@ table_name: tags
classes:
- ActsAsTaggableOn::Tag
feature_categories:
+- continuous_integration
- runner
-description: TODO
+description: Tags applied to arbitrary models through the 'taggings' table
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/b946da44695c9c8fe8867bb87bcdf801c52177d3
milestone: "<6.0"
diff --git a/db/docs/terraform_state_versions.yml b/db/docs/terraform_state_versions.yml
index 8c1110caa95..a812d2a209e 100644
--- a/db/docs/terraform_state_versions.yml
+++ b/db/docs/terraform_state_versions.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- infrastructure_as_code
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35211
milestone: '13.4'
diff --git a/db/docs/terraform_states.yml b/db/docs/terraform_states.yml
index 90be304d898..78a277cafd6 100644
--- a/db/docs/terraform_states.yml
+++ b/db/docs/terraform_states.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- infrastructure_as_code
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26619
milestone: '13.0'
diff --git a/db/docs/timelogs.yml b/db/docs/timelogs.yml
index ab01a1f1f6a..0aebf8ec5db 100644
--- a/db/docs/timelogs.yml
+++ b/db/docs/timelogs.yml
@@ -4,6 +4,6 @@ classes:
- Timelog
feature_categories:
- team_planning
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/bf13fa054a67d5245ee83555e730d7ee6ab7264c
+description: Time spend data recorded by users on issues
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/870
milestone: '8.14'
diff --git a/db/docs/todos.yml b/db/docs/todos.yml
index 1f4db172e2b..1a146e29d2f 100644
--- a/db/docs/todos.yml
+++ b/db/docs/todos.yml
@@ -4,6 +4,6 @@ classes:
- Todo
feature_categories:
- team_planning
-description: TODO
+description: An action required or notification of action taken for a user on a target object, generated by various actions within the GitLab application
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/3d52e139b13ad077286f2f9f46b7e98f43ad9564
milestone: '8.5'
diff --git a/db/docs/topics.yml b/db/docs/topics.yml
index d093c263386..25a448e3361 100644
--- a/db/docs/topics.yml
+++ b/db/docs/topics.yml
@@ -4,6 +4,6 @@ classes:
- Projects::Topic
feature_categories:
- projects
-description: TODO
+description: Stores topics that can be assigned to projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67574
milestone: '14.3'
diff --git a/db/docs/upcoming_reconciliations.yml b/db/docs/upcoming_reconciliations.yml
index 4d8e505c888..722fa2aee70 100644
--- a/db/docs/upcoming_reconciliations.yml
+++ b/db/docs/upcoming_reconciliations.yml
@@ -4,6 +4,6 @@ classes:
- GitlabSubscriptions::UpcomingReconciliation
feature_categories:
- purchase
-description: TODO
+description: Stores the data needed to notify a user of an upcoming reconciliation
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63054
milestone: '14.0'
diff --git a/db/docs/upload_states.yml b/db/docs/upload_states.yml
index b1ee7e17e2e..29df41c07dd 100644
--- a/db/docs/upload_states.yml
+++ b/db/docs/upload_states.yml
@@ -4,6 +4,6 @@ classes:
- Geo::UploadState
feature_categories:
- geo_replication
-description: TODO
+description: Separate table for uploads containing Geo verification metadata.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/65921
milestone: '14.6'
diff --git a/db/docs/user_agent_details.yml b/db/docs/user_agent_details.yml
index ae49ded4348..53292bf93f1 100644
--- a/db/docs/user_agent_details.yml
+++ b/db/docs/user_agent_details.yml
@@ -3,7 +3,7 @@ table_name: user_agent_details
classes:
- UserAgentDetail
feature_categories:
-- snippets
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/95419679f23f0628d1885dd9656cc159e9d55ea9
+- instance_resiliency
+description: Stores user agent details for submission to Akismet spam detection.
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5538
milestone: '8.11'
diff --git a/db/docs/user_callouts.yml b/db/docs/user_callouts.yml
index fe6243636d9..63ee837eb2c 100644
--- a/db/docs/user_callouts.yml
+++ b/db/docs/user_callouts.yml
@@ -3,7 +3,7 @@ table_name: user_callouts
classes:
- Users::Callout
feature_categories:
-- users
+- navigation
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/648826721f13ee4309a11638e538d96006648b39
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/16735
milestone: '10.5'
diff --git a/db/docs/user_canonical_emails.yml b/db/docs/user_canonical_emails.yml
index 8bf0e485030..4d9c3ba4797 100644
--- a/db/docs/user_canonical_emails.yml
+++ b/db/docs/user_canonical_emails.yml
@@ -3,7 +3,7 @@ table_name: user_canonical_emails
classes:
- UserCanonicalEmail
feature_categories:
-- users
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+- authentication_and_authorization
+description: stores the canonical version of user's primary email address
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27722
milestone: '13.0'
diff --git a/db/docs/user_credit_card_validations.yml b/db/docs/user_credit_card_validations.yml
index 9a452721ca8..1ba8bf40460 100644
--- a/db/docs/user_credit_card_validations.yml
+++ b/db/docs/user_credit_card_validations.yml
@@ -3,7 +3,7 @@ table_name: user_credit_card_validations
classes:
- Users::CreditCardValidation
feature_categories:
-- users
-description: TODO
+- purchase
+description: Stores whether the user has completed a first time validation to run CI pipelines
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60626
milestone: '13.12'
diff --git a/db/docs/user_custom_attributes.yml b/db/docs/user_custom_attributes.yml
index 60359fb2c48..956450acb68 100644
--- a/db/docs/user_custom_attributes.yml
+++ b/db/docs/user_custom_attributes.yml
@@ -4,6 +4,6 @@ classes:
- UserCustomAttribute
feature_categories:
- users
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/e9eae3eb0dd25e4a34c9a4b6bcc7de312dde4489
+description: Storing custom attributes per user
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13038
milestone: '10.1'
diff --git a/db/docs/user_details.yml b/db/docs/user_details.yml
index 5ced831f9ad..636074214b0 100644
--- a/db/docs/user_details.yml
+++ b/db/docs/user_details.yml
@@ -4,6 +4,6 @@ classes:
- UserDetail
feature_categories:
- users
-description: TODO
+description: Stores user details
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25483
milestone: '12.9'
diff --git a/db/docs/user_follow_users.yml b/db/docs/user_follow_users.yml
index 08756637c10..56243b97546 100644
--- a/db/docs/user_follow_users.yml
+++ b/db/docs/user_follow_users.yml
@@ -4,6 +4,6 @@ classes:
- Users::UserFollowUser
feature_categories:
- users
-description: TODO
+description: Stores which users follow each other
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45451
milestone: '13.9'
diff --git a/db/docs/user_group_callouts.yml b/db/docs/user_group_callouts.yml
index 0ed79640cb1..910752339ed 100644
--- a/db/docs/user_group_callouts.yml
+++ b/db/docs/user_group_callouts.yml
@@ -3,7 +3,7 @@ table_name: user_group_callouts
classes:
- Users::GroupCallout
feature_categories:
-- users
+- navigation
description: TODO
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68785
milestone: '14.3'
diff --git a/db/docs/user_interacted_projects.yml b/db/docs/user_interacted_projects.yml
index 3eb67f6c2f3..e62e863b0a9 100644
--- a/db/docs/user_interacted_projects.yml
+++ b/db/docs/user_interacted_projects.yml
@@ -3,7 +3,7 @@ table_name: user_interacted_projects
classes:
- UserInteractedProject
feature_categories:
-- product_analytics
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/43b74afd8656df8228c19d5e5e6aee9f87abc244
+- projects
+description: Tracks which projects a given user has actively interacted with
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17327
milestone: '10.6'
diff --git a/db/docs/user_preferences.yml b/db/docs/user_preferences.yml
index 0a0b447c0c2..b9afb679503 100644
--- a/db/docs/user_preferences.yml
+++ b/db/docs/user_preferences.yml
@@ -4,6 +4,6 @@ classes:
- UserPreference
feature_categories:
- users
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/132abd3d68a8d97e8245dfc8f87a297a2ff1f39d
+description: Stores users' preferences
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7816
milestone: '11.5'
diff --git a/db/docs/user_statuses.yml b/db/docs/user_statuses.yml
index cf4667c4189..94aaff70d85 100644
--- a/db/docs/user_statuses.yml
+++ b/db/docs/user_statuses.yml
@@ -4,6 +4,6 @@ classes:
- UserStatus
feature_categories:
- users
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/812bfb158b70b09cfd438379a4b9446aa85b52ec
+description: Stores users' statuses
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20614
milestone: '11.2'
diff --git a/db/docs/users_security_dashboard_projects.yml b/db/docs/users_security_dashboard_projects.yml
index a98399aa9c8..4c379e5739d 100644
--- a/db/docs/users_security_dashboard_projects.yml
+++ b/db/docs/users_security_dashboard_projects.yml
@@ -4,6 +4,6 @@ classes:
- UsersSecurityDashboardProject
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores projects which users select to appear in their Security Dashboard
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18708
milestone: '12.5'
diff --git a/db/docs/users_star_projects.yml b/db/docs/users_star_projects.yml
index a1da7dca644..0199a0e3433 100644
--- a/db/docs/users_star_projects.yml
+++ b/db/docs/users_star_projects.yml
@@ -4,6 +4,6 @@ classes:
- UsersStarProject
feature_categories:
- projects
-description: TODO
+description: Stores conection between users and project through staring action
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/714f7201d3362793d11f33793e5ef6dc83bdd2f0
-milestone: '7.2'
+milestone: '7.1'
diff --git a/db/docs/users_statistics.yml b/db/docs/users_statistics.yml
index 7ff35cd8726..f2c44cc456e 100644
--- a/db/docs/users_statistics.yml
+++ b/db/docs/users_statistics.yml
@@ -3,7 +3,7 @@ table_name: users_statistics
classes:
- UsersStatistics
feature_categories:
-- product_analytics
-description: TODO
+- utilization
+description: User statistics
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26261
milestone: '12.9'
diff --git a/db/docs/verification_codes.yml b/db/docs/verification_codes.yml
index 9e784ed00ee..24c4d0991f9 100644
--- a/db/docs/verification_codes.yml
+++ b/db/docs/verification_codes.yml
@@ -3,6 +3,6 @@ table_name: verification_codes
classes: []
feature_categories:
- jihu
-description: TODO
+description: Used by the JiHu edition for user verification
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71139
milestone: '14.4'
diff --git a/db/docs/vulnerabilities.yml b/db/docs/vulnerabilities.yml
index f2dad96bebc..72f080a075f 100644
--- a/db/docs/vulnerabilities.yml
+++ b/db/docs/vulnerabilities.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerability
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores information about vulnerabilites present in the project's source code
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16181
milestone: '12.4'
diff --git a/db/docs/vulnerability_exports.yml b/db/docs/vulnerability_exports.yml
index f9d392d3485..4254a4426d6 100644
--- a/db/docs/vulnerability_exports.yml
+++ b/db/docs/vulnerability_exports.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::Export
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores metadata about exported Vulnerabilities CSV files
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27196
milestone: '13.0'
diff --git a/db/docs/vulnerability_external_issue_links.yml b/db/docs/vulnerability_external_issue_links.yml
index ff0b8f98414..2adf90e6838 100644
--- a/db/docs/vulnerability_external_issue_links.yml
+++ b/db/docs/vulnerability_external_issue_links.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::ExternalIssueLink
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores information about connections between external issue trackers and vulnerabilities
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48465
milestone: '13.7'
diff --git a/db/docs/vulnerability_feedback.yml b/db/docs/vulnerability_feedback.yml
index 4d5ae868188..bcd8c3935e6 100644
--- a/db/docs/vulnerability_feedback.yml
+++ b/db/docs/vulnerability_feedback.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::Feedback
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores information about the confirm, dismiss, or create issue to investigate actions taken on vulnerabilities
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/5452
milestone: '10.8'
diff --git a/db/docs/vulnerability_finding_evidences.yml b/db/docs/vulnerability_finding_evidences.yml
index a2b48caece6..0c7fc7c7fdd 100644
--- a/db/docs/vulnerability_finding_evidences.yml
+++ b/db/docs/vulnerability_finding_evidences.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::Finding::Evidence
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores evidence used to identify presence of a vulnerability
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56790
milestone: '13.11'
diff --git a/db/docs/vulnerability_finding_links.yml b/db/docs/vulnerability_finding_links.yml
index 4f47e82e85f..c259778cb09 100644
--- a/db/docs/vulnerability_finding_links.yml
+++ b/db/docs/vulnerability_finding_links.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::FindingLink
feature_categories:
- vulnerability_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45502
+description: Stores URLs relevant to the vulnerability findings
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46555
milestone: '13.6'
diff --git a/db/docs/vulnerability_finding_signatures.yml b/db/docs/vulnerability_finding_signatures.yml
index 963dd96dd2c..a9faf1e8a1b 100644
--- a/db/docs/vulnerability_finding_signatures.yml
+++ b/db/docs/vulnerability_finding_signatures.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::FindingSignature
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores signatures of vulnerability locations which are used to improve tracking
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57840
milestone: '13.11'
diff --git a/db/docs/vulnerability_findings_remediations.yml b/db/docs/vulnerability_findings_remediations.yml
index 4a757073567..f59b2360f42 100644
--- a/db/docs/vulnerability_findings_remediations.yml
+++ b/db/docs/vulnerability_findings_remediations.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::FindingRemediation
feature_categories:
- vulnerability_management
-description: TODO
+description: Join table between Remediations and Findings
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47166
milestone: '13.7'
diff --git a/db/docs/vulnerability_flags.yml b/db/docs/vulnerability_flags.yml
index fa47f878029..5d26faf66e0 100644
--- a/db/docs/vulnerability_flags.yml
+++ b/db/docs/vulnerability_flags.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::Flag
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores additional information for vulnerabilities, for example if a vulnerability is identified as a false positive
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/65573
milestone: '14.1'
diff --git a/db/docs/vulnerability_historical_statistics.yml b/db/docs/vulnerability_historical_statistics.yml
index 47fec93a242..22622f2494d 100644
--- a/db/docs/vulnerability_historical_statistics.yml
+++ b/db/docs/vulnerability_historical_statistics.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::HistoricalStatistic
feature_categories:
- vulnerability_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Stores aggregate vulnerability statistics which are used in the Security Dashboard
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36955
milestone: '13.3'
diff --git a/db/docs/vulnerability_identifiers.yml b/db/docs/vulnerability_identifiers.yml
index eefdddfe7eb..9be03505671 100644
--- a/db/docs/vulnerability_identifiers.yml
+++ b/db/docs/vulnerability_identifiers.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::Identifier
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores identifiers (like CVE or CWE) for vulnerabilities that have been found
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6896
milestone: '11.4'
diff --git a/db/docs/vulnerability_issue_links.yml b/db/docs/vulnerability_issue_links.yml
index d19e885dd86..8503af34831 100644
--- a/db/docs/vulnerability_issue_links.yml
+++ b/db/docs/vulnerability_issue_links.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::IssueLink
feature_categories:
- vulnerability_management
-description: TODO
+description: Join table between Vulnerabilities and Issues
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19852
milestone: '12.5'
diff --git a/db/docs/vulnerability_occurrence_identifiers.yml b/db/docs/vulnerability_occurrence_identifiers.yml
index 5791b42846b..77b985e3e02 100644
--- a/db/docs/vulnerability_occurrence_identifiers.yml
+++ b/db/docs/vulnerability_occurrence_identifiers.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::FindingIdentifier
feature_categories:
- vulnerability_management
-description: TODO
+description: Join table between Findings and Identifiers
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6896
milestone: '11.4'
diff --git a/db/docs/vulnerability_occurrence_pipelines.yml b/db/docs/vulnerability_occurrence_pipelines.yml
index 5cbc490a2b8..5c798e7a2ac 100644
--- a/db/docs/vulnerability_occurrence_pipelines.yml
+++ b/db/docs/vulnerability_occurrence_pipelines.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::FindingPipeline
feature_categories:
- vulnerability_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/3270e15c4de7f40b97ce25bdc3cc9c4282e2f573
+description: Join table between Findings and Pipelines
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7578
milestone: '11.5'
diff --git a/db/docs/vulnerability_occurrences.yml b/db/docs/vulnerability_occurrences.yml
index 001764c385e..919a0ae19e7 100644
--- a/db/docs/vulnerability_occurrences.yml
+++ b/db/docs/vulnerability_occurrences.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::Finding
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores information about findings for a given vulnerability
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6896
milestone: '11.4'
diff --git a/db/docs/vulnerability_reads.yml b/db/docs/vulnerability_reads.yml
index 0d60920c694..29727da2e69 100644
--- a/db/docs/vulnerability_reads.yml
+++ b/db/docs/vulnerability_reads.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::Read
feature_categories:
- vulnerability_management
-description: TODO
+description: Denormalized version of the vulnerabilites table used for faster reads
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74733
milestone: '14.6'
diff --git a/db/docs/vulnerability_remediations.yml b/db/docs/vulnerability_remediations.yml
index 6dfd80ec6b4..3f4e93ba0d8 100644
--- a/db/docs/vulnerability_remediations.yml
+++ b/db/docs/vulnerability_remediations.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::Remediation
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores remediation information, such as diffs, for a given vulnerability
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47166
milestone: '13.7'
diff --git a/db/docs/vulnerability_scanners.yml b/db/docs/vulnerability_scanners.yml
index 18d534619bf..2ea7a3763d6 100644
--- a/db/docs/vulnerability_scanners.yml
+++ b/db/docs/vulnerability_scanners.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::Scanner
feature_categories:
- vulnerability_management
-description: TODO
+description: Stores information about the vulnerability scanners used by projects
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6896
milestone: '11.4'
diff --git a/db/docs/vulnerability_statistics.yml b/db/docs/vulnerability_statistics.yml
index e32fdc907ff..c94145e24f1 100644
--- a/db/docs/vulnerability_statistics.yml
+++ b/db/docs/vulnerability_statistics.yml
@@ -4,6 +4,6 @@ classes:
- Vulnerabilities::Statistic
feature_categories:
- vulnerability_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Stores pre-calculated vulnerability statistics for projects
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34289
milestone: '13.2'
diff --git a/db/docs/vulnerability_user_mentions.yml b/db/docs/vulnerability_user_mentions.yml
index 594f7fa78f8..4e4a07e97ac 100644
--- a/db/docs/vulnerability_user_mentions.yml
+++ b/db/docs/vulnerability_user_mentions.yml
@@ -4,6 +4,6 @@ classes:
- VulnerabilityUserMention
feature_categories:
- vulnerability_management
-description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+description: Stores notes for a given vulnerability
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27515
milestone: '13.0'
diff --git a/db/docs/web_hook_logs.yml b/db/docs/web_hook_logs.yml
index eb47aa1dc9a..e7ed77112bb 100644
--- a/db/docs/web_hook_logs.yml
+++ b/db/docs/web_hook_logs.yml
@@ -4,6 +4,6 @@ classes:
- WebHookLog
feature_categories:
- integrations
-description: TODO
+description: Webhooks logs data.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/330789c23c777d8ca646eba7c25f39cb7342cdee
milestone: '9.3'
diff --git a/db/docs/web_hooks.yml b/db/docs/web_hooks.yml
index 8b0a2c8c002..3c43dd837b5 100644
--- a/db/docs/web_hooks.yml
+++ b/db/docs/web_hooks.yml
@@ -8,6 +8,6 @@ classes:
- WebHook
feature_categories:
- integrations
-description: TODO
+description: Webhooks data with the custom HTTP callbacks that a user defines.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/edab46e9fa5f568b1423c0021e81d30453d7dc1e
milestone: "<6.0"
diff --git a/db/docs/webauthn_registrations.yml b/db/docs/webauthn_registrations.yml
index 21659b88cb6..13c4c28e24b 100644
--- a/db/docs/webauthn_registrations.yml
+++ b/db/docs/webauthn_registrations.yml
@@ -5,5 +5,5 @@ classes:
feature_categories:
- authentication_and_authorization
description: TODO
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/9af97ee69a36de1dc4e73f4030d6316d3f0a82c5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35797
milestone: '13.2'
diff --git a/db/docs/wiki_page_meta.yml b/db/docs/wiki_page_meta.yml
index b5b28d1e8e0..bed636eed08 100644
--- a/db/docs/wiki_page_meta.yml
+++ b/db/docs/wiki_page_meta.yml
@@ -4,6 +4,6 @@ classes:
- WikiPage::Meta
feature_categories:
- wiki
-description: TODO
+description: Used to record the metadata for wiki pages when we create events.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26529
milestone: '13.0'
diff --git a/db/docs/wiki_page_slugs.yml b/db/docs/wiki_page_slugs.yml
index e0e29ea41ad..a6997322f73 100644
--- a/db/docs/wiki_page_slugs.yml
+++ b/db/docs/wiki_page_slugs.yml
@@ -4,6 +4,6 @@ classes:
- WikiPage::Slug
feature_categories:
- wiki
-description: TODO
+description: Stores wiki page slug metadata for when we create events.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26529
milestone: '13.0'
diff --git a/db/docs/work_item_types.yml b/db/docs/work_item_types.yml
index 48fed8d6aba..afb694bca79 100644
--- a/db/docs/work_item_types.yml
+++ b/db/docs/work_item_types.yml
@@ -4,6 +4,6 @@ classes:
- WorkItems::Type
feature_categories:
- team_planning
-description: TODO
+description: The work item type related to an issue. Currently one of a predefined set but in future will support custom types.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55705
milestone: '14.2'
diff --git a/db/docs/zentao_tracker_data.yml b/db/docs/zentao_tracker_data.yml
index 8270759b5d6..c99aebd70e2 100644
--- a/db/docs/zentao_tracker_data.yml
+++ b/db/docs/zentao_tracker_data.yml
@@ -4,6 +4,6 @@ classes:
- Integrations::ZentaoTrackerData
feature_categories:
- integrations
-description: TODO
+description: Data related to the ZenTao integration.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67938
milestone: '14.2'
diff --git a/db/docs/zoom_meetings.yml b/db/docs/zoom_meetings.yml
index 0c1a47eb6d0..620df953ad5 100644
--- a/db/docs/zoom_meetings.yml
+++ b/db/docs/zoom_meetings.yml
@@ -4,6 +4,6 @@ classes:
- ZoomMeeting
feature_categories:
- incident_management
-description: TODO
+description: Persists Zoom meetings, its associations and its metadata
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17890
milestone: '12.5'
diff --git a/db/fixtures/development/001_create_base_work_item_types.rb b/db/fixtures/development/001_create_base_work_item_types.rb
index 7a541ca20b0..8bd43fd9df6 100644
--- a/db/fixtures/development/001_create_base_work_item_types.rb
+++ b/db/fixtures/development/001_create_base_work_item_types.rb
@@ -1,5 +1,5 @@
# frozen_string_literal: true
Gitlab::Seeder.quiet do
- Gitlab::DatabaseImporters::WorkItems::BaseTypeImporter.import
+ Gitlab::DatabaseImporters::WorkItems::BaseTypeImporter.upsert_types
end
diff --git a/db/fixtures/development/04_labels.rb b/db/fixtures/development/04_labels.rb
index aff8331a191..5f0d7f2d8be 100644
--- a/db/fixtures/development/04_labels.rb
+++ b/db/fixtures/development/04_labels.rb
@@ -12,7 +12,7 @@ class Gitlab::Seeder::GroupLabels
@label_per_group.times do
label_title = FFaker::Product.brand
Labels::CreateService
- .new(title: label_title, color: "##{Digest::MD5.hexdigest(label_title)[0..5]}")
+ .new(title: label_title, color: "#{::Gitlab::Color.color_for(label_title)}")
.execute(group: @group)
print '.'
end
@@ -29,7 +29,7 @@ class Gitlab::Seeder::ProjectLabels
@label_per_project.times do
label_title = FFaker::Vehicle.model
Labels::CreateService
- .new(title: label_title, color: "##{Digest::MD5.hexdigest(label_title)[0..5]}")
+ .new(title: label_title, color: "#{::Gitlab::Color.color_for(label_title)}")
.execute(project: @project)
print '.'
end
diff --git a/db/fixtures/development/33_triage_ops.rb b/db/fixtures/development/33_triage_ops.rb
index 1bb1f6c05d9..aaf92315125 100644
--- a/db/fixtures/development/33_triage_ops.rb
+++ b/db/fixtures/development/33_triage_ops.rb
@@ -30,6 +30,10 @@ class Gitlab::Seeder::TriageOps
puts "Setting up webhooks"
ensure_webhook_for('gitlab-com')
ensure_webhook_for('gitlab-org')
+
+ puts "Ensuring work type labels"
+ ensure_work_type_labels_for('gitlab-com')
+ ensure_work_type_labels_for('gitlab-org')
end
end
@@ -83,6 +87,38 @@ class Gitlab::Seeder::TriageOps
puts "Hook with url '#{hook.url}' and token '#{hook.token}' for '#{group_path}' is present now."
end
+ def ensure_work_type_labels_for(group_path)
+ label_titles = [
+ 'bug::availability',
+ 'bug::mobile',
+ 'bug::performance',
+ 'bug::vulnerability',
+ 'feature::addition',
+ 'feature::consolidation',
+ 'feature::enhancement',
+ 'feature::removal',
+ 'maintenance::dependency',
+ 'maintenance::pipelines',
+ 'maintenance::refactor',
+ 'maintenance::test-gap',
+ 'maintenance::usability',
+ 'maintenance::workflow',
+ 'type::bug',
+ 'type::feature',
+ 'type::maintenance',
+ ]
+
+ group = Group.find_by_full_path(group_path)
+
+ label_titles.each do |label_title|
+ color = ::Gitlab::Color.color_for(label_title[/[^:]+/])
+
+ Labels::CreateService
+ .new(title: label_title, color: "#{color}")
+ .execute(group: group)
+ end
+ end
+
def ensure_group(full_path)
group = Group.find_by_full_path(full_path)
diff --git a/db/fixtures/development/34_uploads.rb b/db/fixtures/development/34_uploads.rb
new file mode 100644
index 00000000000..fc45c51e136
--- /dev/null
+++ b/db/fixtures/development/34_uploads.rb
@@ -0,0 +1,54 @@
+# frozen_string_literal: true
+
+# This seeder seeds comments as well, because uploads are not relevant by
+# themselves
+Gitlab::Seeder.quiet do
+ upload_seed_total_limit = 50
+ upload_seed_individual_limit = upload_seed_total_limit / 10
+
+ Issue.limit(upload_seed_individual_limit).find_each do |issue|
+ project = issue.project
+
+ project.team.users.limit(upload_seed_individual_limit).each do |user|
+ file = CarrierWaveStringFile.new_file(
+ file_content: "seeded upload file in project #{project.full_path}, issue #{issue.iid}",
+ filename: 'seeded_upload.txt',
+ content_type: 'text/plain'
+ )
+
+ uploader = UploadService.new(project, file, FileUploader).execute
+
+ note_params = {
+ noteable_type: 'Issue',
+ noteable_id: issue.id,
+ note: "Seeded upload: #{uploader.to_h[:markdown]}",
+ }
+
+ Notes::CreateService.new(project, user, note_params).execute
+ print '.'
+ end
+ end
+
+ MergeRequest.limit(upload_seed_individual_limit).find_each do |mr|
+ project = mr.project
+
+ project.team.users.limit(upload_seed_individual_limit).each do |user|
+ file = CarrierWaveStringFile.new_file(
+ file_content: "seeded upload file in project #{project.full_path}, MR #{mr.iid}",
+ filename: 'seeded_upload.txt',
+ content_type: 'text/plain'
+ )
+
+ uploader = UploadService.new(project, file, FileUploader).execute
+
+ note_params = {
+ noteable_type: 'MergeRequest',
+ noteable_id: mr.id,
+ note: "Seeded upload: #{uploader.to_h[:markdown]}",
+ }
+
+ Notes::CreateService.new(project, user, note_params).execute
+ print '.'
+ end
+ end
+end
diff --git a/db/fixtures/production/003_create_base_work_item_types.rb b/db/fixtures/production/003_create_base_work_item_types.rb
index 7a541ca20b0..8bd43fd9df6 100644
--- a/db/fixtures/production/003_create_base_work_item_types.rb
+++ b/db/fixtures/production/003_create_base_work_item_types.rb
@@ -1,5 +1,5 @@
# frozen_string_literal: true
Gitlab::Seeder.quiet do
- Gitlab::DatabaseImporters::WorkItems::BaseTypeImporter.import
+ Gitlab::DatabaseImporters::WorkItems::BaseTypeImporter.upsert_types
end
diff --git a/db/migrate/20220213100000_remove_integration_type_triggers.rb b/db/migrate/20220213100000_remove_integration_type_triggers.rb
new file mode 100644
index 00000000000..137e5648125
--- /dev/null
+++ b/db/migrate/20220213100000_remove_integration_type_triggers.rb
@@ -0,0 +1,32 @@
+# frozen_string_literal: true
+
+class RemoveIntegrationTypeTriggers < Gitlab::Database::Migration[1.0]
+ include Gitlab::Database::SchemaHelpers
+
+ FUNCTION_NAME = 'integrations_set_type_new'
+ TRIGGER_ON_INSERT_NAME = 'trigger_type_new_on_insert'
+
+ def up
+ drop_trigger(:integrations, TRIGGER_ON_INSERT_NAME)
+ drop_function(FUNCTION_NAME)
+ end
+
+ def down
+ create_trigger_function(FUNCTION_NAME, replace: true) do
+ <<~SQL.squish
+ UPDATE integrations
+ SET type_new = COALESCE(NEW.type_new, regexp_replace(NEW.type, '\\A(.+)Service\\Z', 'Integrations::\\1'))
+ , type = COALESCE(NEW.type, regexp_replace(NEW.type_new, '\\AIntegrations::(.+)\\Z', '\\1Service'))
+ WHERE integrations.id = NEW.id;
+ RETURN NULL;
+ SQL
+ end
+
+ execute(<<~SQL)
+ CREATE TRIGGER #{TRIGGER_ON_INSERT_NAME}
+ AFTER INSERT ON integrations
+ FOR EACH ROW
+ EXECUTE FUNCTION #{FUNCTION_NAME}();
+ SQL
+ end
+end
diff --git a/db/migrate/20220324091224_add_enforce_auth_checks_on_uploads_to_project_settings.rb b/db/migrate/20220324091224_add_enforce_auth_checks_on_uploads_to_project_settings.rb
new file mode 100644
index 00000000000..2c86d1d346d
--- /dev/null
+++ b/db/migrate/20220324091224_add_enforce_auth_checks_on_uploads_to_project_settings.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class AddEnforceAuthChecksOnUploadsToProjectSettings < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def change
+ add_column :project_settings, :enforce_auth_checks_on_uploads, :boolean, null: false, default: true
+ end
+end
diff --git a/db/migrate/20220331125725_add_title_to_topic.rb b/db/migrate/20220331125725_add_title_to_topic.rb
new file mode 100644
index 00000000000..0c6ccb6beb9
--- /dev/null
+++ b/db/migrate/20220331125725_add_title_to_topic.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+class AddTitleToTopic < Gitlab::Database::Migration[1.0]
+ # rubocop:disable Migration/AddLimitToTextColumns
+ # limit is added in 20220331130726_add_text_limit_to_topics_title.rb
+ def change
+ add_column :topics, :title, :text
+ end
+ # rubocop:enable Migration/AddLimitToTextColumns
+end
diff --git a/db/migrate/20220331130726_add_text_limit_to_topics_title.rb b/db/migrate/20220331130726_add_text_limit_to_topics_title.rb
new file mode 100644
index 00000000000..4a4b30edc0d
--- /dev/null
+++ b/db/migrate/20220331130726_add_text_limit_to_topics_title.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddTextLimitToTopicsTitle < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ def up
+ add_text_limit :topics, :title, 255
+ end
+
+ def down
+ remove_text_limit :topics, :title
+ end
+end
diff --git a/db/migrate/20220401071609_add_campaign_to_in_product_marketing_email.rb b/db/migrate/20220401071609_add_campaign_to_in_product_marketing_email.rb
new file mode 100644
index 00000000000..f8d027cfd2e
--- /dev/null
+++ b/db/migrate/20220401071609_add_campaign_to_in_product_marketing_email.rb
@@ -0,0 +1,35 @@
+# frozen_string_literal: true
+
+class AddCampaignToInProductMarketingEmail < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ TARGET_TABLE = :in_product_marketing_emails
+ UNIQUE_INDEX_NAME = :index_in_product_marketing_emails_on_user_campaign
+ CONSTRAINT_NAME = :in_product_marketing_emails_track_and_series_or_campaign
+ TRACK_AND_SERIES_NOT_NULL_CONSTRAINT = 'track IS NOT NULL AND series IS NOT NULL AND campaign IS NULL'
+ CAMPAIGN_NOT_NULL_CONSTRAINT = 'track IS NULL AND series IS NULL AND campaign IS NOT NULL'
+
+ def up
+ change_column_null TARGET_TABLE, :track, true
+ change_column_null TARGET_TABLE, :series, true
+
+ # rubocop:disable Migration/AddLimitToTextColumns
+ # limit is added in 20220420034519_add_text_limit_to_in_product_marketing_email_campaign.rb
+ add_column :in_product_marketing_emails, :campaign, :text, if_not_exists: true
+ # rubocop:enable Migration/AddLimitToTextColumns
+ add_concurrent_index TARGET_TABLE, [:user_id, :campaign], unique: true, name: UNIQUE_INDEX_NAME
+ add_check_constraint TARGET_TABLE,
+ "(#{TRACK_AND_SERIES_NOT_NULL_CONSTRAINT}) OR (#{CAMPAIGN_NOT_NULL_CONSTRAINT})",
+ CONSTRAINT_NAME
+ end
+
+ def down
+ remove_check_constraint TARGET_TABLE, CONSTRAINT_NAME
+ remove_concurrent_index TARGET_TABLE, [:user_id, :campaign], name: UNIQUE_INDEX_NAME
+ remove_column :in_product_marketing_emails, :campaign, if_exists: true
+
+ # Records that previously had a value for campaign column will have NULL
+ # values for track and series columns so we can't reverse
+ # change_column_null.
+ end
+end
diff --git a/db/migrate/20220401151123_add_last_repository_updated_at_to_project_repository_state.rb b/db/migrate/20220401151123_add_last_repository_updated_at_to_project_repository_state.rb
new file mode 100644
index 00000000000..d8ef5865576
--- /dev/null
+++ b/db/migrate/20220401151123_add_last_repository_updated_at_to_project_repository_state.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+class AddLastRepositoryUpdatedAtToProjectRepositoryState < Gitlab::Database::Migration[1.0]
+ def change
+ add_column :project_repository_states, :last_repository_updated_at, :datetime_with_timezone
+ add_column :project_repository_states, :last_wiki_updated_at, :datetime_with_timezone
+ end
+end
diff --git a/db/migrate/20220406133049_add_delayed_group_deletion_to_application_settings.rb b/db/migrate/20220406133049_add_delayed_group_deletion_to_application_settings.rb
new file mode 100644
index 00000000000..16ee7033021
--- /dev/null
+++ b/db/migrate/20220406133049_add_delayed_group_deletion_to_application_settings.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+class AddDelayedGroupDeletionToApplicationSettings < Gitlab::Database::Migration[1.0]
+ def up
+ add_column :application_settings, :delayed_group_deletion, :boolean, default: true, null: false
+ end
+
+ def down
+ remove_column :application_settings, :delayed_group_deletion
+ end
+end
diff --git a/db/migrate/20220412060931_add_nullify_build_data_trigger_on_merge_request_metrics.rb b/db/migrate/20220412060931_add_nullify_build_data_trigger_on_merge_request_metrics.rb
new file mode 100644
index 00000000000..96ec44c16c5
--- /dev/null
+++ b/db/migrate/20220412060931_add_nullify_build_data_trigger_on_merge_request_metrics.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+class AddNullifyBuildDataTriggerOnMergeRequestMetrics < Gitlab::Database::Migration[1.0]
+ include Gitlab::Database::SchemaHelpers
+
+ TABLE_NAME = 'merge_request_metrics'
+ FUNCTION_NAME = 'nullify_merge_request_metrics_build_data'
+ TRIGGER_NAME = 'nullify_merge_request_metrics_build_data_on_update'
+
+ def up
+ create_trigger_function(FUNCTION_NAME) do
+ <<~SQL
+ IF (OLD.pipeline_id IS NOT NULL) AND (NEW.pipeline_id IS NULL) THEN
+ NEW.latest_build_started_at = NULL;
+ NEW.latest_build_finished_at = NULL;
+ END IF;
+ RETURN NEW;
+ SQL
+ end
+
+ create_trigger(TABLE_NAME, TRIGGER_NAME, FUNCTION_NAME, fires: 'BEFORE UPDATE')
+ end
+
+ def down
+ drop_trigger(TABLE_NAME, TRIGGER_NAME)
+ drop_function(FUNCTION_NAME)
+ end
+end
diff --git a/db/migrate/20220412135446_add_unique_fingerprint_sha256_index_to_key.rb b/db/migrate/20220412135446_add_unique_fingerprint_sha256_index_to_key.rb
new file mode 100644
index 00000000000..3f2ea80ef30
--- /dev/null
+++ b/db/migrate/20220412135446_add_unique_fingerprint_sha256_index_to_key.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class AddUniqueFingerprintSha256IndexToKey < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ OLD_INDEX_NAME = 'index_keys_on_fingerprint_sha256'
+ NEW_INDEX_NAME = 'index_keys_on_fingerprint_sha256_unique'
+
+ def up
+ add_concurrent_index :keys, :fingerprint_sha256, unique: true, name: NEW_INDEX_NAME
+ remove_concurrent_index_by_name :keys, OLD_INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index :keys, :fingerprint_sha256, name: OLD_INDEX_NAME
+ remove_concurrent_index_by_name :keys, NEW_INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220412140446_add_unique_fingerprint_sha256_index_to_group_deploy_key.rb b/db/migrate/20220412140446_add_unique_fingerprint_sha256_index_to_group_deploy_key.rb
new file mode 100644
index 00000000000..db238394dd6
--- /dev/null
+++ b/db/migrate/20220412140446_add_unique_fingerprint_sha256_index_to_group_deploy_key.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class AddUniqueFingerprintSha256IndexToGroupDeployKey < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ OLD_INDEX_NAME = 'index_group_deploy_keys_on_fingerprint_sha256'
+ NEW_INDEX_NAME = 'index_group_deploy_keys_on_fingerprint_sha256_unique'
+
+ def up
+ add_concurrent_index :group_deploy_keys, :fingerprint_sha256, unique: true, name: NEW_INDEX_NAME
+ remove_concurrent_index_by_name :group_deploy_keys, OLD_INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index :group_deploy_keys, :fingerprint_sha256, name: OLD_INDEX_NAME
+ remove_concurrent_index_by_name :group_deploy_keys, NEW_INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220412140755_drop_unique_fingerprint_md5_index_from_key.rb b/db/migrate/20220412140755_drop_unique_fingerprint_md5_index_from_key.rb
new file mode 100644
index 00000000000..09fb7de0798
--- /dev/null
+++ b/db/migrate/20220412140755_drop_unique_fingerprint_md5_index_from_key.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class DropUniqueFingerprintMd5IndexFromKey < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_keys_on_fingerprint'
+
+ def up
+ remove_concurrent_index_by_name :keys, INDEX_NAME
+ add_concurrent_index :keys, :fingerprint, name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :keys, INDEX_NAME
+ add_concurrent_index :keys, :fingerprint, unique: true, name: INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220412141020_drop_unique_fingerprint_md5_index_from_group_deploy_key.rb b/db/migrate/20220412141020_drop_unique_fingerprint_md5_index_from_group_deploy_key.rb
new file mode 100644
index 00000000000..51ae664ed4a
--- /dev/null
+++ b/db/migrate/20220412141020_drop_unique_fingerprint_md5_index_from_group_deploy_key.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class DropUniqueFingerprintMd5IndexFromGroupDeployKey < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_group_deploy_keys_on_fingerprint'
+
+ def up
+ remove_concurrent_index_by_name :group_deploy_keys, INDEX_NAME
+ add_concurrent_index :group_deploy_keys, :fingerprint, name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :group_deploy_keys, INDEX_NAME
+ add_concurrent_index :group_deploy_keys, :fingerprint, unique: true, name: INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220413054910_backfill_delayed_group_deletion.rb b/db/migrate/20220413054910_backfill_delayed_group_deletion.rb
new file mode 100644
index 00000000000..420f200be02
--- /dev/null
+++ b/db/migrate/20220413054910_backfill_delayed_group_deletion.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+class BackfillDelayedGroupDeletion < Gitlab::Database::Migration[1.0]
+ class ApplicationSetting < ActiveRecord::Base
+ self.table_name = 'application_settings'
+ end
+
+ def up
+ ApplicationSetting.reset_column_information
+
+ ApplicationSetting.find_each do |application_setting|
+ application_setting.update!(delayed_group_deletion: application_setting.deletion_adjourned_period > 0)
+ end
+ end
+
+ def down
+ ApplicationSetting.reset_column_information
+
+ ApplicationSetting.update_all(delayed_group_deletion: true)
+ end
+end
diff --git a/db/migrate/20220413124200_add_view_for_per_table_autovacuum_status.rb b/db/migrate/20220413124200_add_view_for_per_table_autovacuum_status.rb
new file mode 100644
index 00000000000..977a16d1b54
--- /dev/null
+++ b/db/migrate/20220413124200_add_view_for_per_table_autovacuum_status.rb
@@ -0,0 +1,45 @@
+# frozen_string_literal: true
+
+class AddViewForPerTableAutovacuumStatus < Gitlab::Database::Migration[1.0]
+ def up
+ execute <<~SQL
+ DROP VIEW IF EXISTS postgres_autovacuum_activity;
+ DROP FUNCTION IF EXISTS postgres_pg_stat_activity_autovacuum;
+
+ CREATE FUNCTION postgres_pg_stat_activity_autovacuum() RETURNS SETOF pg_catalog.pg_stat_activity AS
+ $$
+ SELECT *
+ FROM pg_stat_activity
+ WHERE datname = current_database()
+ AND state = 'active'
+ AND backend_type = 'autovacuum worker'
+ $$
+ LANGUAGE sql
+ VOLATILE
+ SECURITY DEFINER
+ SET search_path = 'pg_catalog', 'pg_temp';
+
+ CREATE VIEW postgres_autovacuum_activity AS
+ WITH processes as
+ (
+ SELECT query, query_start, (regexp_matches(query, '^autovacuum: VACUUM (\w+)\.(\w+)')) as matches
+ FROM postgres_pg_stat_activity_autovacuum()
+ WHERE query ~* '^autovacuum: VACUUM \w+\.\w+'
+ )
+ SELECT matches[1] || '.' || matches[2] as table_identifier,
+ matches[1] as schema,
+ matches[2] as table,
+ query_start as vacuum_start
+ FROM processes;
+
+ COMMENT ON VIEW postgres_autovacuum_activity IS 'Contains information about PostgreSQL backends currently performing autovacuum operations on the tables indicated here.';
+ SQL
+ end
+
+ def down
+ execute <<~SQL
+ DROP VIEW IF EXISTS postgres_autovacuum_activity;
+ DROP FUNCTION IF EXISTS postgres_pg_stat_activity_autovacuum;
+ SQL
+ end
+end
diff --git a/db/migrate/20220413164146_remove_max_seats_used_indices.rb b/db/migrate/20220413164146_remove_max_seats_used_indices.rb
new file mode 100644
index 00000000000..d89ce6de4a4
--- /dev/null
+++ b/db/migrate/20220413164146_remove_max_seats_used_indices.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+
+class RemoveMaxSeatsUsedIndices < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ MAX_SEATS_USED_INDEX = 'tmp_gitlab_subscriptions_max_seats_used_migration'
+ MAX_SEATS_USED_INDEX_2 = 'tmp_gitlab_subscriptions_max_seats_used_migration_2'
+
+ def up
+ remove_concurrent_index_by_name :gitlab_subscriptions, MAX_SEATS_USED_INDEX
+ remove_concurrent_index_by_name :gitlab_subscriptions, MAX_SEATS_USED_INDEX_2
+ end
+
+ def down
+ add_concurrent_index :gitlab_subscriptions, :id,
+ where: "start_date >= '2021-08-02' AND start_date <= '2021-11-20' AND max_seats_used != 0 " \
+ "AND max_seats_used > seats_in_use AND max_seats_used > seats",
+ name: MAX_SEATS_USED_INDEX
+ add_concurrent_index :gitlab_subscriptions, :id,
+ where: "start_date < '2021-08-02' AND max_seats_used != 0 AND max_seats_used > seats_in_use " \
+ "AND max_seats_used > seats",
+ name: MAX_SEATS_USED_INDEX_2
+ end
+end
diff --git a/db/migrate/20220413235818_add_max_seats_used_changed_at_to_gitlab_subscriptions.rb b/db/migrate/20220413235818_add_max_seats_used_changed_at_to_gitlab_subscriptions.rb
new file mode 100644
index 00000000000..34e3a59cfb7
--- /dev/null
+++ b/db/migrate/20220413235818_add_max_seats_used_changed_at_to_gitlab_subscriptions.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddMaxSeatsUsedChangedAtToGitlabSubscriptions < Gitlab::Database::Migration[2.0]
+ def change
+ add_column :gitlab_subscriptions, :max_seats_used_changed_at, :datetime_with_timezone
+ end
+end
diff --git a/db/migrate/20220414203622_add_index_for_columns_user_custom_attribute.rb b/db/migrate/20220414203622_add_index_for_columns_user_custom_attribute.rb
new file mode 100644
index 00000000000..b461e656f1f
--- /dev/null
+++ b/db/migrate/20220414203622_add_index_for_columns_user_custom_attribute.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+class AddIndexForColumnsUserCustomAttribute < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+ INDEX_NAME = 'index_key_updated_at_on_user_custom_attribute'
+
+ def up
+ add_concurrent_index(:user_custom_attributes, [:key, :updated_at], name: INDEX_NAME)
+ end
+
+ def down
+ remove_concurrent_index_by_name(:user_custom_attributes, INDEX_NAME)
+ end
+end
diff --git a/db/migrate/20220415015143_replace_iterations_cadence_date_range_constraint.rb b/db/migrate/20220415015143_replace_iterations_cadence_date_range_constraint.rb
new file mode 100644
index 00000000000..9788fd4a32b
--- /dev/null
+++ b/db/migrate/20220415015143_replace_iterations_cadence_date_range_constraint.rb
@@ -0,0 +1,35 @@
+# frozen_string_literal: true
+
+class ReplaceIterationsCadenceDateRangeConstraint < Gitlab::Database::Migration[2.0]
+ enable_lock_retries!
+
+ def up
+ execute <<~SQL
+ ALTER TABLE sprints
+ DROP CONSTRAINT IF EXISTS iteration_start_and_due_date_iterations_cadence_id_constraint;
+
+ ALTER TABLE sprints
+ ADD CONSTRAINT iteration_start_and_due_date_iterations_cadence_id_constraint
+ EXCLUDE USING gist
+ ( iterations_cadence_id WITH =,
+ daterange(start_date, due_date, '[]') WITH &&
+ )
+ WHERE (group_id IS NOT NULL) DEFERRABLE INITIALLY DEFERRED;
+ SQL
+ end
+
+ def down
+ execute <<~SQL
+ ALTER TABLE sprints
+ DROP CONSTRAINT IF EXISTS iteration_start_and_due_date_iterations_cadence_id_constraint;
+
+ ALTER TABLE sprints
+ ADD CONSTRAINT iteration_start_and_due_date_iterations_cadence_id_constraint
+ EXCLUDE USING gist
+ ( iterations_cadence_id WITH =,
+ daterange(start_date, due_date, '[]') WITH &&
+ )
+ WHERE (group_id IS NOT NULL);
+ SQL
+ end
+end
diff --git a/db/migrate/20220419223906_add_arkose_namespace_to_application_settings.rb b/db/migrate/20220419223906_add_arkose_namespace_to_application_settings.rb
new file mode 100644
index 00000000000..1fc655228db
--- /dev/null
+++ b/db/migrate/20220419223906_add_arkose_namespace_to_application_settings.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+class AddArkoseNamespaceToApplicationSettings < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ ARKOSE_LABS_DEFAULT_NAMESPACE = 'client'
+
+ def up
+ unless column_exists?(:application_settings, :arkose_labs_namespace)
+ add_column :application_settings,
+ :arkose_labs_namespace,
+ :text,
+ default: ARKOSE_LABS_DEFAULT_NAMESPACE,
+ null: false
+ end
+
+ add_text_limit :application_settings, :arkose_labs_namespace, 255
+ end
+
+ def down
+ remove_column :application_settings, :arkose_labs_namespace
+ end
+end
diff --git a/db/migrate/20220420034519_add_text_limit_to_in_product_marketing_email_campaign.rb b/db/migrate/20220420034519_add_text_limit_to_in_product_marketing_email_campaign.rb
new file mode 100644
index 00000000000..c590111da21
--- /dev/null
+++ b/db/migrate/20220420034519_add_text_limit_to_in_product_marketing_email_campaign.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddTextLimitToInProductMarketingEmailCampaign < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ def up
+ add_text_limit :in_product_marketing_emails, :campaign, 255
+ end
+
+ def down
+ remove_text_limit :in_product_marketing_emails, :campaign
+ end
+end
diff --git a/db/migrate/20220420135245_fix_batched_background_migration_default_arguments.rb b/db/migrate/20220420135245_fix_batched_background_migration_default_arguments.rb
new file mode 100644
index 00000000000..42a0ee32ecb
--- /dev/null
+++ b/db/migrate/20220420135245_fix_batched_background_migration_default_arguments.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class FixBatchedBackgroundMigrationDefaultArguments < Gitlab::Database::Migration[1.0]
+ def change
+ change_column_default :batched_background_migrations, :job_arguments, from: '[]', to: []
+ end
+end
diff --git a/db/migrate/20220420173247_add_group_inheritance_type_to_pe_authorizable.rb b/db/migrate/20220420173247_add_group_inheritance_type_to_pe_authorizable.rb
new file mode 100644
index 00000000000..f1ddf48304e
--- /dev/null
+++ b/db/migrate/20220420173247_add_group_inheritance_type_to_pe_authorizable.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+class AddGroupInheritanceTypeToPeAuthorizable < Gitlab::Database::Migration[2.0]
+ def change
+ add_column :protected_environment_deploy_access_levels,
+ :group_inheritance_type,
+ :smallint,
+ default: 0, limit: 2, null: false
+ add_column :protected_environment_approval_rules,
+ :group_inheritance_type,
+ :smallint,
+ default: 0, limit: 2, null: false
+ end
+end
diff --git a/db/migrate/20220420192542_add_id_for_cleanup_index_packages_package_files.rb b/db/migrate/20220420192542_add_id_for_cleanup_index_packages_package_files.rb
new file mode 100644
index 00000000000..a5a0001ab69
--- /dev/null
+++ b/db/migrate/20220420192542_add_id_for_cleanup_index_packages_package_files.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class AddIdForCleanupIndexPackagesPackageFiles < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_packages_package_files_on_id_for_cleanup'
+
+ PACKAGE_FILE_STATUS_PENDING_DESTRUCTION = 1
+
+ def up
+ where = "status = #{PACKAGE_FILE_STATUS_PENDING_DESTRUCTION}"
+
+ add_concurrent_index :packages_package_files, :id, name: INDEX_NAME, where: where
+ end
+
+ def down
+ remove_concurrent_index_by_name :packages_package_files, name: INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220421114418_make_fingerprint_nullable_for_group_deploy_key.rb b/db/migrate/20220421114418_make_fingerprint_nullable_for_group_deploy_key.rb
new file mode 100644
index 00000000000..587ebf1289d
--- /dev/null
+++ b/db/migrate/20220421114418_make_fingerprint_nullable_for_group_deploy_key.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+class MakeFingerprintNullableForGroupDeployKey < Gitlab::Database::Migration[2.0]
+ def up
+ change_column_null :group_deploy_keys, :fingerprint, true
+ end
+
+ def down
+ # There may now be nulls in the table, so we cannot re-add the constraint here.
+ end
+end
diff --git a/db/migrate/20220421141342_add_allowed_plans_to_ci_runners.rb b/db/migrate/20220421141342_add_allowed_plans_to_ci_runners.rb
new file mode 100644
index 00000000000..46da684cfe2
--- /dev/null
+++ b/db/migrate/20220421141342_add_allowed_plans_to_ci_runners.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class AddAllowedPlansToCiRunners < Gitlab::Database::Migration[1.0]
+ def change
+ # rubocop:disable Migration/AddLimitToTextColumns
+ add_column :ci_runners, :allowed_plans, :text, array: true, null: false, default: []
+ # rubocop:enable Migration/AddLimitToTextColumns
+ end
+end
diff --git a/db/migrate/20220421144758_change_dotenv_plan_limits_for_old_plans.rb b/db/migrate/20220421144758_change_dotenv_plan_limits_for_old_plans.rb
new file mode 100644
index 00000000000..a4dede974e2
--- /dev/null
+++ b/db/migrate/20220421144758_change_dotenv_plan_limits_for_old_plans.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class ChangeDotenvPlanLimitsForOldPlans < Gitlab::Database::Migration[2.0]
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ def up
+ create_or_update_plan_limit('dotenv_variables', 'early_adopter', 50)
+ create_or_update_plan_limit('dotenv_variables', 'bronze', 50)
+ create_or_update_plan_limit('dotenv_variables', 'silver', 100)
+ create_or_update_plan_limit('dotenv_variables', 'gold', 150)
+ end
+
+ def down
+ create_or_update_plan_limit('dotenv_variables', 'early_adopter', 20)
+ create_or_update_plan_limit('dotenv_variables', 'bronze', 20)
+ create_or_update_plan_limit('dotenv_variables', 'silver', 20)
+ create_or_update_plan_limit('dotenv_variables', 'gold', 20)
+ end
+end
diff --git a/db/migrate/20220421180321_add_last_cleanup_deleted_tags_count_to_container_repository.rb b/db/migrate/20220421180321_add_last_cleanup_deleted_tags_count_to_container_repository.rb
new file mode 100644
index 00000000000..141bc4b49e6
--- /dev/null
+++ b/db/migrate/20220421180321_add_last_cleanup_deleted_tags_count_to_container_repository.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddLastCleanupDeletedTagsCountToContainerRepository < Gitlab::Database::Migration[2.0]
+ def change
+ add_column :container_repositories, :last_cleanup_deleted_tags_count, :integer
+ end
+end
diff --git a/db/migrate/20220422200633_fix_view_for_per_table_autovacuum_status.rb b/db/migrate/20220422200633_fix_view_for_per_table_autovacuum_status.rb
new file mode 100644
index 00000000000..0af56d32674
--- /dev/null
+++ b/db/migrate/20220422200633_fix_view_for_per_table_autovacuum_status.rb
@@ -0,0 +1,73 @@
+# frozen_string_literal: true
+
+class FixViewForPerTableAutovacuumStatus < Gitlab::Database::Migration[2.0]
+ def up
+ execute <<~SQL
+ DROP VIEW IF EXISTS postgres_autovacuum_activity;
+ DROP FUNCTION IF EXISTS postgres_pg_stat_activity_autovacuum;
+
+ CREATE FUNCTION postgres_pg_stat_activity_autovacuum() RETURNS TABLE(query text, query_start timestamptz) AS
+ $$
+ SELECT query, query_start
+ FROM pg_stat_activity
+ WHERE datname = current_database()
+ AND state = 'active'
+ AND backend_type = 'autovacuum worker'
+ $$
+ LANGUAGE sql
+ VOLATILE
+ SECURITY DEFINER
+ SET search_path = 'pg_catalog', 'pg_temp';
+
+ CREATE VIEW postgres_autovacuum_activity AS
+ WITH processes as
+ (
+ SELECT query, query_start, (regexp_matches(query, '^autovacuum: VACUUM (\w+)\.(\w+)')) as matches
+ FROM postgres_pg_stat_activity_autovacuum()
+ WHERE query ~* '^autovacuum: VACUUM \w+\.\w+'
+ )
+ SELECT matches[1] || '.' || matches[2] as table_identifier,
+ matches[1] as schema,
+ matches[2] as table,
+ query_start as vacuum_start
+ FROM processes;
+
+ COMMENT ON VIEW postgres_autovacuum_activity IS 'Contains information about PostgreSQL backends currently performing autovacuum operations on the tables indicated here.';
+ SQL
+ end
+
+ def down
+ execute(<<~SQL)
+ DROP VIEW IF EXISTS postgres_autovacuum_activity;
+ DROP FUNCTION IF EXISTS postgres_pg_stat_activity_autovacuum;
+
+ CREATE FUNCTION postgres_pg_stat_activity_autovacuum() RETURNS SETOF pg_catalog.pg_stat_activity AS
+ $$
+ SELECT *
+ FROM pg_stat_activity
+ WHERE datname = current_database()
+ AND state = 'active'
+ AND backend_type = 'autovacuum worker'
+ $$
+ LANGUAGE sql
+ VOLATILE
+ SECURITY DEFINER
+ SET search_path = 'pg_catalog', 'pg_temp';
+
+ CREATE VIEW postgres_autovacuum_activity AS
+ WITH processes as
+ (
+ SELECT query, query_start, (regexp_matches(query, '^autovacuum: VACUUM (\w+)\.(\w+)')) as matches
+ FROM postgres_pg_stat_activity_autovacuum()
+ WHERE query ~* '^autovacuum: VACUUM \w+\.\w+'
+ )
+ SELECT matches[1] || '.' || matches[2] as table_identifier,
+ matches[1] as schema,
+ matches[2] as table,
+ query_start as vacuum_start
+ FROM processes;
+
+ COMMENT ON VIEW postgres_autovacuum_activity IS 'Contains information about PostgreSQL backends currently performing autovacuum operations on the tables indicated here.';
+ SQL
+ end
+end
diff --git a/db/migrate/20220422220507_remove_tmp_index_supporting_leaky_regex_cleanup.rb b/db/migrate/20220422220507_remove_tmp_index_supporting_leaky_regex_cleanup.rb
new file mode 100644
index 00000000000..15a3c4d579e
--- /dev/null
+++ b/db/migrate/20220422220507_remove_tmp_index_supporting_leaky_regex_cleanup.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+class RemoveTmpIndexSupportingLeakyRegexCleanup < Gitlab::Database::Migration[2.0]
+ INDEX_NAME = "tmp_index_merge_requests_draft_and_status_leaky_regex"
+ LEAKY_REGEXP_STR = "^\\[draft\\]|\\(draft\\)|draft:|draft|\\[WIP\\]|WIP:|WIP"
+ CORRECTED_REGEXP_STR = "^(\\[draft\\]|\\(draft\\)|draft:|draft|\\[WIP\\]|WIP:|WIP)"
+
+ disable_ddl_transaction!
+
+ def up
+ remove_concurrent_index_by_name :merge_requests, INDEX_NAME
+ end
+
+ def down
+ where_clause = <<~SQL
+ draft = true AND
+ state_id = 1 AND
+ ((title)::text ~* '#{LEAKY_REGEXP_STR}'::text) AND ((title)::text !~* '#{CORRECTED_REGEXP_STR}'::text)
+ SQL
+
+ add_concurrent_index :merge_requests, :id,
+ where: where_clause,
+ name: INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220425120604_create_packages_cleanup_policies.rb b/db/migrate/20220425120604_create_packages_cleanup_policies.rb
new file mode 100644
index 00000000000..0b04457235e
--- /dev/null
+++ b/db/migrate/20220425120604_create_packages_cleanup_policies.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+class CreatePackagesCleanupPolicies < Gitlab::Database::Migration[2.0]
+ enable_lock_retries!
+
+ def up
+ create_table :packages_cleanup_policies, id: false do |t|
+ t.timestamps_with_timezone null: false
+ t.references :project,
+ primary_key: true,
+ default: nil,
+ index: false,
+ foreign_key: { to_table: :projects, on_delete: :cascade }
+ t.datetime_with_timezone :next_run_at, null: true
+ t.text :keep_n_duplicated_package_files, default: 'all', null: false, limit: 255
+ end
+ end
+
+ def down
+ drop_table :packages_cleanup_policies
+ end
+end
diff --git a/db/migrate/20220426130217_add_max_export_size_to_application_settings.rb b/db/migrate/20220426130217_add_max_export_size_to_application_settings.rb
new file mode 100644
index 00000000000..d1488a77d14
--- /dev/null
+++ b/db/migrate/20220426130217_add_max_export_size_to_application_settings.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddMaxExportSizeToApplicationSettings < Gitlab::Database::Migration[2.0]
+ def change
+ add_column :application_settings, :max_export_size, :integer, default: 0
+ end
+end
diff --git a/db/migrate/20220502125053_recreate_index_for_project_group_link_with_group_id_and_project_id.rb b/db/migrate/20220502125053_recreate_index_for_project_group_link_with_group_id_and_project_id.rb
new file mode 100644
index 00000000000..1d9a18b7b23
--- /dev/null
+++ b/db/migrate/20220502125053_recreate_index_for_project_group_link_with_group_id_and_project_id.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class RecreateIndexForProjectGroupLinkWithGroupIdAndProjectId < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ OLD_INDEX_NAME = 'index_project_group_links_on_group_id'
+ NEW_INDEX_NAME = 'index_project_group_links_on_group_id_and_project_id'
+
+ def up
+ add_concurrent_index :project_group_links, [:group_id, :project_id], name: NEW_INDEX_NAME
+ remove_concurrent_index_by_name :project_group_links, OLD_INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index :project_group_links, [:group_id], name: OLD_INDEX_NAME
+ remove_concurrent_index_by_name :project_group_links, NEW_INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220502150408_add_slack_integrations_bot_columns.rb b/db/migrate/20220502150408_add_slack_integrations_bot_columns.rb
new file mode 100644
index 00000000000..cb5b201e71e
--- /dev/null
+++ b/db/migrate/20220502150408_add_slack_integrations_bot_columns.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+class AddSlackIntegrationsBotColumns < Gitlab::Database::Migration[2.0]
+ def change
+ change_table :slack_integrations do |t|
+ t.column :bot_user_id, :text
+ t.column :encrypted_bot_access_token, :binary
+ t.column :encrypted_bot_access_token_iv, :binary
+ end
+ end
+end
diff --git a/db/migrate/20220502152633_add_slack_integrations_bot_user_id_text_limit.rb b/db/migrate/20220502152633_add_slack_integrations_bot_user_id_text_limit.rb
new file mode 100644
index 00000000000..649d6ccf9d4
--- /dev/null
+++ b/db/migrate/20220502152633_add_slack_integrations_bot_user_id_text_limit.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddSlackIntegrationsBotUserIdTextLimit < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ def up
+ add_text_limit :slack_integrations, :bot_user_id, 255
+ end
+
+ def down
+ remove_text_limit :slack_integrations, :bot_user_id
+ end
+end
diff --git a/db/migrate/20220503073401_recreate_index_for_group_group_link_with_both_group_ids.rb b/db/migrate/20220503073401_recreate_index_for_group_group_link_with_both_group_ids.rb
new file mode 100644
index 00000000000..214e9c5e0a7
--- /dev/null
+++ b/db/migrate/20220503073401_recreate_index_for_group_group_link_with_both_group_ids.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class RecreateIndexForGroupGroupLinkWithBothGroupIds < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ OLD_INDEX_NAME = 'index_group_group_links_on_shared_with_group_id'
+ NEW_INDEX_NAME = 'index_group_group_links_on_shared_with_group_and_shared_group'
+
+ def up
+ add_concurrent_index :group_group_links, [:shared_with_group_id, :shared_group_id], name: NEW_INDEX_NAME
+ remove_concurrent_index_by_name :group_group_links, OLD_INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index :group_group_links, [:shared_with_group_id], name: OLD_INDEX_NAME
+ remove_concurrent_index_by_name :group_group_links, NEW_INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220503102855_add_namespace_ci_cd_settings_table.rb b/db/migrate/20220503102855_add_namespace_ci_cd_settings_table.rb
new file mode 100644
index 00000000000..532e80d1567
--- /dev/null
+++ b/db/migrate/20220503102855_add_namespace_ci_cd_settings_table.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class AddNamespaceCiCdSettingsTable < Gitlab::Database::Migration[2.0]
+ enable_lock_retries!
+
+ def up
+ create_table :namespace_ci_cd_settings, id: false do |t|
+ t.references :namespace, primary_key: true, default: nil, index: false, foreign_key: { on_delete: :cascade }
+ t.boolean :allow_stale_runner_pruning, null: false, default: false
+ end
+ end
+
+ def down
+ drop_table :namespace_ci_cd_settings, if_exists: true
+ end
+end
diff --git a/db/migrate/20220504042847_add_slack_signing_key_to_application_settings.rb b/db/migrate/20220504042847_add_slack_signing_key_to_application_settings.rb
new file mode 100644
index 00000000000..ddfa7c63370
--- /dev/null
+++ b/db/migrate/20220504042847_add_slack_signing_key_to_application_settings.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+class AddSlackSigningKeyToApplicationSettings < Gitlab::Database::Migration[2.0]
+ def change
+ add_column :application_settings, :encrypted_slack_app_signing_secret, :binary
+ add_column :application_settings, :encrypted_slack_app_signing_secret_iv, :binary
+ end
+end
diff --git a/db/migrate/20220504140036_add_container_registry_size_to_namespace_root_storage_statistics.rb b/db/migrate/20220504140036_add_container_registry_size_to_namespace_root_storage_statistics.rb
new file mode 100644
index 00000000000..0197b418cd8
--- /dev/null
+++ b/db/migrate/20220504140036_add_container_registry_size_to_namespace_root_storage_statistics.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class AddContainerRegistrySizeToNamespaceRootStorageStatistics < Gitlab::Database::Migration[2.0]
+ enable_lock_retries!
+
+ def change
+ add_column :namespace_root_storage_statistics, :container_registry_size, :bigint, default: 0, null: false
+ end
+end
diff --git a/db/migrate/20220505092254_add_allow_stale_runner_pruning_index_to_namespace_ci_cd_settings.rb b/db/migrate/20220505092254_add_allow_stale_runner_pruning_index_to_namespace_ci_cd_settings.rb
new file mode 100644
index 00000000000..b7fd8fdee4f
--- /dev/null
+++ b/db/migrate/20220505092254_add_allow_stale_runner_pruning_index_to_namespace_ci_cd_settings.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class AddAllowStaleRunnerPruningIndexToNamespaceCiCdSettings < Gitlab::Database::Migration[2.0]
+ INDEX_NAME = 'index_cicd_settings_on_namespace_id_where_stale_pruning_enabled'
+
+ disable_ddl_transaction!
+
+ def up
+ add_concurrent_index :namespace_ci_cd_settings,
+ :namespace_id,
+ where: '(allow_stale_runner_pruning = true)',
+ name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :namespace_ci_cd_settings, INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220506180411_add_index_to_vulnerability_feedback_finding_uuid.rb b/db/migrate/20220506180411_add_index_to_vulnerability_feedback_finding_uuid.rb
new file mode 100644
index 00000000000..a6f01ce5a0e
--- /dev/null
+++ b/db/migrate/20220506180411_add_index_to_vulnerability_feedback_finding_uuid.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class AddIndexToVulnerabilityFeedbackFindingUuid < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_vulnerability_feedback_finding_uuid'
+
+ # We are indexing on UUID, a hash index should be smaller and faster
+ # details on https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86808#note_943330140
+ def up
+ add_concurrent_index :vulnerability_feedback, :finding_uuid, using: :hash, name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index :vulnerability_feedback, :finding_uuid, using: :hash, name: INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220507204024_add_separated_caches_option_to_project_ci_settings.rb b/db/migrate/20220507204024_add_separated_caches_option_to_project_ci_settings.rb
new file mode 100644
index 00000000000..39daf9fe296
--- /dev/null
+++ b/db/migrate/20220507204024_add_separated_caches_option_to_project_ci_settings.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class AddSeparatedCachesOptionToProjectCiSettings < Gitlab::Database::Migration[2.0]
+ enable_lock_retries!
+
+ def change
+ add_column :project_ci_cd_settings, :separated_caches, :boolean, default: true, null: false
+ end
+end
diff --git a/db/migrate/20220511090324_add_last_consistency_check_cursors_to_vsa_aggregations.rb b/db/migrate/20220511090324_add_last_consistency_check_cursors_to_vsa_aggregations.rb
new file mode 100644
index 00000000000..53c09597be5
--- /dev/null
+++ b/db/migrate/20220511090324_add_last_consistency_check_cursors_to_vsa_aggregations.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+class AddLastConsistencyCheckCursorsToVsaAggregations < Gitlab::Database::Migration[2.0]
+ def up
+ change_table(:analytics_cycle_analytics_aggregations, bulk: true) do |t|
+ t.column :last_consistency_check_issues_stage_event_hash_id, :bigint, null: true
+ t.column :last_consistency_check_issues_start_event_timestamp, :datetime_with_timezone, null: true
+ t.column :last_consistency_check_issues_end_event_timestamp, :datetime_with_timezone, null: true
+ t.column :last_consistency_check_issues_issuable_id, :bigint, null: true
+
+ t.column :last_consistency_check_merge_requests_stage_event_hash_id, :bigint, null: true
+ t.column :last_consistency_check_merge_requests_start_event_timestamp, :datetime_with_timezone, null: true
+ t.column :last_consistency_check_merge_requests_end_event_timestamp, :datetime_with_timezone, null: true
+ t.column :last_consistency_check_merge_requests_issuable_id, :bigint, null: true
+ end
+ end
+
+ def down
+ remove_column :analytics_cycle_analytics_aggregations, :last_consistency_check_issues_stage_event_hash_id
+ remove_column :analytics_cycle_analytics_aggregations, :last_consistency_check_issues_start_event_timestamp
+ remove_column :analytics_cycle_analytics_aggregations, :last_consistency_check_issues_end_event_timestamp
+ remove_column :analytics_cycle_analytics_aggregations, :last_consistency_check_issues_issuable_id
+ remove_column :analytics_cycle_analytics_aggregations, :last_consistency_check_merge_requests_stage_event_hash_id
+ remove_column :analytics_cycle_analytics_aggregations, :last_consistency_check_merge_requests_start_event_timestamp
+ remove_column :analytics_cycle_analytics_aggregations, :last_consistency_check_merge_requests_end_event_timestamp
+ remove_column :analytics_cycle_analytics_aggregations, :last_consistency_check_merge_requests_issuable_id
+ end
+end
diff --git a/db/migrate/20220511151646_add_exclude_from_free_user_cap_to_namespace_settings.rb b/db/migrate/20220511151646_add_exclude_from_free_user_cap_to_namespace_settings.rb
new file mode 100644
index 00000000000..03f6ad5911c
--- /dev/null
+++ b/db/migrate/20220511151646_add_exclude_from_free_user_cap_to_namespace_settings.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddExcludeFromFreeUserCapToNamespaceSettings < Gitlab::Database::Migration[2.0]
+ enable_lock_retries!
+
+ def up
+ add_column :namespace_settings, :exclude_from_free_user_cap, :boolean, null: false, default: false
+ end
+
+ def down
+ remove_column :namespace_settings, :exclude_from_free_user_cap
+ end
+end
diff --git a/db/migrate/20220511191502_add_registry_migration_guard_thresholds_to_application_settings.rb b/db/migrate/20220511191502_add_registry_migration_guard_thresholds_to_application_settings.rb
new file mode 100644
index 00000000000..87a29bd5889
--- /dev/null
+++ b/db/migrate/20220511191502_add_registry_migration_guard_thresholds_to_application_settings.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AddRegistryMigrationGuardThresholdsToApplicationSettings < Gitlab::Database::Migration[2.0]
+ def change
+ add_column :application_settings, :container_registry_pre_import_timeout,
+ :integer,
+ default: 30.minutes,
+ null: false
+
+ add_column :application_settings, :container_registry_import_timeout,
+ :integer,
+ default: 10.minutes,
+ null: false
+ end
+end
diff --git a/db/migrate/20220511191503_add_pipeline_create_limit_per_project_user_sha_to_application_settings.rb b/db/migrate/20220511191503_add_pipeline_create_limit_per_project_user_sha_to_application_settings.rb
new file mode 100644
index 00000000000..6454bac629a
--- /dev/null
+++ b/db/migrate/20220511191503_add_pipeline_create_limit_per_project_user_sha_to_application_settings.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddPipelineCreateLimitPerProjectUserShaToApplicationSettings < Gitlab::Database::Migration[2.0]
+ def change
+ add_column :application_settings, :pipeline_limit_per_project_user_sha, :integer, default: 0, null: false
+ end
+end
diff --git a/db/post_migrate/20210413132500_reschedule_artifact_expiry_backfill_again.rb b/db/post_migrate/20210413132500_reschedule_artifact_expiry_backfill_again.rb
index b4570c8398b..0377df7a46b 100644
--- a/db/post_migrate/20210413132500_reschedule_artifact_expiry_backfill_again.rb
+++ b/db/post_migrate/20210413132500_reschedule_artifact_expiry_backfill_again.rb
@@ -1,44 +1,14 @@
# frozen_string_literal: true
class RescheduleArtifactExpiryBackfillAgain < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- MIGRATION = 'BackfillArtifactExpiryDate'
- SWITCH_DATE = Date.new(2020, 06, 22).freeze
-
- disable_ddl_transaction!
-
- class JobArtifact < ActiveRecord::Base
- include EachBatch
-
- self.inheritance_column = :_type_disabled
- self.table_name = 'ci_job_artifacts'
-
- scope :without_expiry_date, -> { where(expire_at: nil) }
- scope :before_switch, -> { where("date(created_at AT TIME ZONE 'UTC') < ?::date", SWITCH_DATE) }
- end
+ # This migration has been disabled as it was causing a regression bug for self instances
+ # preventing artifact deletion, see https://gitlab.com/gitlab-org/gitlab/-/issues/355955
def up
- Gitlab::BackgroundMigration.steal(MIGRATION) do |job|
- job.delete
-
- false
- end
-
- queue_background_migration_jobs_by_range_at_intervals(
- JobArtifact.without_expiry_date.before_switch,
- MIGRATION,
- 2.minutes,
- batch_size: 200_000
- )
+ # no-op
end
def down
- Gitlab::BackgroundMigration.steal(MIGRATION) do |job|
- job.delete
-
- false
- end
+ # no-op
end
end
diff --git a/db/post_migrate/20211103184303_drop_runner_features_from_ci_builds_metadata.rb b/db/post_migrate/20211103184303_drop_runner_features_from_ci_builds_metadata.rb
new file mode 100644
index 00000000000..00580b2f933
--- /dev/null
+++ b/db/post_migrate/20211103184303_drop_runner_features_from_ci_builds_metadata.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class DropRunnerFeaturesFromCiBuildsMetadata < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def up
+ remove_column :ci_builds_metadata, :runner_features
+ end
+
+ def down
+ add_column :ci_builds_metadata, :runner_features, :jsonb, default: {}, null: false
+ end
+end
diff --git a/db/post_migrate/20220213103859_remove_integrations_type.rb b/db/post_migrate/20220213103859_remove_integrations_type.rb
new file mode 100644
index 00000000000..c3633d1e7d3
--- /dev/null
+++ b/db/post_migrate/20220213103859_remove_integrations_type.rb
@@ -0,0 +1,132 @@
+# frozen_string_literal: true
+
+class RemoveIntegrationsType < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ MIGRATION = 'BackfillIntegrationsTypeNew'
+ BATCH_SIZE = 50
+ TABLE_NAME = :integrations
+ COLUMN = :type
+
+ # see db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb
+ def indices
+ [
+ {
+ name: "index_integrations_on_project_and_#{COLUMN}_where_inherit_null",
+ columns: [:project_id, COLUMN],
+ where: 'inherit_from_id IS NULL'
+ },
+ {
+ name: "index_integrations_on_project_id_and_#{COLUMN}_unique",
+ columns: [:project_id, COLUMN],
+ unique: true
+ },
+ {
+ name: "index_integrations_on_#{COLUMN}",
+ columns: [COLUMN]
+ },
+ {
+ name: "index_integrations_on_#{COLUMN}_and_instance_partial",
+ columns: [COLUMN, :instance],
+ where: 'instance = true',
+ unique: true
+ },
+ {
+ name: 'index_integrations_on_type_id_when_active_and_project_id_not_nu',
+ columns: [COLUMN, :id],
+ where: '((active = true) AND (project_id IS NOT NULL))'
+ },
+ {
+ name: "index_integrations_on_unique_group_id_and_#{COLUMN}",
+ columns: [:group_id, COLUMN],
+ unique: true
+ }
+ ]
+ end
+
+ def up
+ ensure_batched_background_migration_is_finished(
+ job_class_name: MIGRATION,
+ table_name: TABLE_NAME,
+ column_name: :id,
+ job_arguments: [])
+
+ cleanup_unmigrated_rows!
+
+ remove_column :integrations, :type, :text
+ end
+
+ # WARNING: this migration is not really safe to be reverted, since doing so
+ # will leave the type column empty. If this migration is reverted, we will
+ # need to backfill it from type_new
+ def down
+ add_column :integrations, :type, 'character varying'
+
+ indices.each do |index|
+ add_concurrent_index TABLE_NAME, index[:columns], index.except(:columns)
+ end
+ end
+
+ # Convert any remaining unmigrated rows
+ def cleanup_unmigrated_rows!
+ tmp_index_name = 'tmp_idx_integrations_unmigrated_type_new'
+ add_concurrent_index :integrations, :id, where: 'type_new is null', name: tmp_index_name
+
+ define_batchable_model(:integrations).where(type_new: nil).each_batch do |batch|
+ min_id, max_id = batch.pluck(Arel.sql('MIN(id), MAX(id)')).first
+
+ connection.execute(<<~SQL)
+ WITH mapping(old_type, new_type) AS (VALUES
+ ('AsanaService', 'Integrations::Asana'),
+ ('AssemblaService', 'Integrations::Assembla'),
+ ('BambooService', 'Integrations::Bamboo'),
+ ('BugzillaService', 'Integrations::Bugzilla'),
+ ('BuildkiteService', 'Integrations::Buildkite'),
+ ('CampfireService', 'Integrations::Campfire'),
+ ('ConfluenceService', 'Integrations::Confluence'),
+ ('CustomIssueTrackerService', 'Integrations::CustomIssueTracker'),
+ ('DatadogService', 'Integrations::Datadog'),
+ ('DiscordService', 'Integrations::Discord'),
+ ('DroneCiService', 'Integrations::DroneCi'),
+ ('EmailsOnPushService', 'Integrations::EmailsOnPush'),
+ ('EwmService', 'Integrations::Ewm'),
+ ('ExternalWikiService', 'Integrations::ExternalWiki'),
+ ('FlowdockService', 'Integrations::Flowdock'),
+ ('HangoutsChatService', 'Integrations::HangoutsChat'),
+ ('IrkerService', 'Integrations::Irker'),
+ ('JenkinsService', 'Integrations::Jenkins'),
+ ('JiraService', 'Integrations::Jira'),
+ ('MattermostService', 'Integrations::Mattermost'),
+ ('MattermostSlashCommandsService', 'Integrations::MattermostSlashCommands'),
+ ('MicrosoftTeamsService', 'Integrations::MicrosoftTeams'),
+ ('MockCiService', 'Integrations::MockCi'),
+ ('MockMonitoringService', 'Integrations::MockMonitoring'),
+ ('PackagistService', 'Integrations::Packagist'),
+ ('PipelinesEmailService', 'Integrations::PipelinesEmail'),
+ ('PivotaltrackerService', 'Integrations::Pivotaltracker'),
+ ('PrometheusService', 'Integrations::Prometheus'),
+ ('PushoverService', 'Integrations::Pushover'),
+ ('RedmineService', 'Integrations::Redmine'),
+ ('SlackService', 'Integrations::Slack'),
+ ('SlackSlashCommandsService', 'Integrations::SlackSlashCommands'),
+ ('TeamcityService', 'Integrations::Teamcity'),
+ ('UnifyCircuitService', 'Integrations::UnifyCircuit'),
+ ('WebexTeamsService', 'Integrations::WebexTeams'),
+ ('YoutrackService', 'Integrations::Youtrack'),
+
+ -- EE-only integrations
+ ('GithubService', 'Integrations::Github'),
+ ('GitlabSlackApplicationService', 'Integrations::GitlabSlackApplication')
+ )
+
+ UPDATE integrations SET type_new = mapping.new_type
+ FROM mapping
+ WHERE integrations.type_new IS NULL
+ AND integrations.id BETWEEN #{min_id} AND #{max_id}
+ AND integrations.type = mapping.old_type
+ SQL
+ end
+ ensure
+ remove_concurrent_index_by_name(:integrations, tmp_index_name)
+ end
+end
diff --git a/db/post_migrate/20220314154235_migrate_vulnerability_approval_rules.rb b/db/post_migrate/20220314154235_migrate_vulnerability_approval_rules.rb
new file mode 100644
index 00000000000..f9ad2ba4f0c
--- /dev/null
+++ b/db/post_migrate/20220314154235_migrate_vulnerability_approval_rules.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+# See https://docs.gitlab.com/ee/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class MigrateVulnerabilityApprovalRules < Gitlab::Database::Migration[2.0]
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ def up
+ # no-op
+ end
+
+ def down
+ # no-op
+ # Vulnerability-Check feature has been removed as part of 15.0
+ end
+end
diff --git a/db/post_migrate/20220315181136_backfill_work_item_type_id_on_issues.rb b/db/post_migrate/20220315181136_backfill_work_item_type_id_on_issues.rb
index 8838a27f233..2249413b1e4 100644
--- a/db/post_migrate/20220315181136_backfill_work_item_type_id_on_issues.rb
+++ b/db/post_migrate/20220315181136_backfill_work_item_type_id_on_issues.rb
@@ -1,40 +1,13 @@
# frozen_string_literal: true
class BackfillWorkItemTypeIdOnIssues < Gitlab::Database::Migration[1.0]
- MIGRATION = 'BackfillWorkItemTypeIdForIssues'
- BATCH_CLASS_NAME = 'BackfillIssueWorkItemTypeBatchingStrategy'
- BATCH_SIZE = 10_000
- MAX_BATCH_SIZE = 30_000
- SUB_BATCH_SIZE = 100
- INTERVAL = 2.minutes
-
- class MigrationWorkItemType < ApplicationRecord
- self.table_name = 'work_item_types'
-
- def self.id_by_type
- where(namespace_id: nil).order(:base_type).pluck(:base_type, :id).to_h
- end
- end
-
def up
- # We expect no more than 5 types. Only 3 of them are expected to have associated issues at the moment
- MigrationWorkItemType.id_by_type.each do |base_type, type_id|
- queue_batched_background_migration(
- MIGRATION,
- :issues,
- :id,
- base_type,
- type_id,
- job_interval: INTERVAL,
- batch_size: BATCH_SIZE,
- max_batch_size: MAX_BATCH_SIZE,
- sub_batch_size: SUB_BATCH_SIZE,
- batch_class_name: BATCH_CLASS_NAME
- )
- end
+ # no-op
+ # This migration will be rescheduled as described in
+ # https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85212
end
def down
- Gitlab::Database::BackgroundMigration::BatchedMigration.where(job_class_name: MIGRATION).delete_all
+ # no-op
end
end
diff --git a/db/post_migrate/20220324165436_schedule_backfill_project_settings.rb b/db/post_migrate/20220324165436_schedule_backfill_project_settings.rb
new file mode 100644
index 00000000000..c1aaea44bfd
--- /dev/null
+++ b/db/post_migrate/20220324165436_schedule_backfill_project_settings.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+class ScheduleBackfillProjectSettings < Gitlab::Database::Migration[1.0]
+ MIGRATION = 'BackfillProjectSettings'
+ INTERVAL = 2.minutes
+ BATCH_SIZE = 5_000
+ SUB_BATCH_SIZE = 200
+
+ def up
+ queue_batched_background_migration(
+ MIGRATION,
+ :projects,
+ :id,
+ job_interval: INTERVAL,
+ batch_size: BATCH_SIZE,
+ sub_batch_size: SUB_BATCH_SIZE
+ )
+ end
+
+ def down
+ Gitlab::Database::BackgroundMigration::BatchedMigration
+ .for_configuration(MIGRATION, :projects, :id, [])
+ .delete_all
+ end
+end
diff --git a/db/post_migrate/20220328095848_delete_failed_reset_duplicate_ci_runners_token_migration_records.rb b/db/post_migrate/20220328095848_delete_failed_reset_duplicate_ci_runners_token_migration_records.rb
new file mode 100644
index 00000000000..3c1a6a48ef5
--- /dev/null
+++ b/db/post_migrate/20220328095848_delete_failed_reset_duplicate_ci_runners_token_migration_records.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class DeleteFailedResetDuplicateCiRunnersTokenMigrationRecords < Gitlab::Database::Migration[1.0]
+ def up
+ # Delete remaining records of botched migrations before we start the new migrations
+ Gitlab::Database::BackgroundMigrationJob
+ .for_migration_class('ResetDuplicateCiRunnersTokenValuesOnProjects')
+ .delete_all
+ Gitlab::Database::BackgroundMigrationJob
+ .for_migration_class('ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects')
+ .delete_all
+ end
+
+ def down
+ # no-op
+ end
+end
diff --git a/db/post_migrate/20220328100456_schedule20220328_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb b/db/post_migrate/20220328100456_schedule20220328_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb
new file mode 100644
index 00000000000..326a8e30ecb
--- /dev/null
+++ b/db/post_migrate/20220328100456_schedule20220328_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+class Schedule20220328ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects < Gitlab::Database::Migration[1.0]
+ MIGRATION = 'ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects'
+ BATCH_SIZE = 2_000
+ DELAY_INTERVAL = 2.minutes
+
+ disable_ddl_transaction!
+
+ class Project < ActiveRecord::Base # rubocop:disable Style/Documentation
+ include ::EachBatch
+
+ self.table_name = 'projects'
+
+ scope :base_query, -> { where.not(runners_token_encrypted: nil) }
+ end
+
+ def up
+ queue_background_migration_jobs_by_range_at_intervals(
+ Project.base_query,
+ MIGRATION,
+ DELAY_INTERVAL,
+ batch_size: BATCH_SIZE,
+ track_jobs: true
+ )
+ end
+
+ def down
+ # no-op
+ end
+end
diff --git a/db/post_migrate/20220328100457_schedule20220328_reset_duplicate_ci_runners_token_values_on_projects.rb b/db/post_migrate/20220328100457_schedule20220328_reset_duplicate_ci_runners_token_values_on_projects.rb
new file mode 100644
index 00000000000..d999def0078
--- /dev/null
+++ b/db/post_migrate/20220328100457_schedule20220328_reset_duplicate_ci_runners_token_values_on_projects.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+class Schedule20220328ResetDuplicateCiRunnersTokenValuesOnProjects < Gitlab::Database::Migration[1.0]
+ MIGRATION = 'ResetDuplicateCiRunnersTokenValuesOnProjects'
+ BATCH_SIZE = 2_000
+ DELAY_INTERVAL = 2.minutes
+
+ disable_ddl_transaction!
+
+ class Project < ActiveRecord::Base # rubocop:disable Style/Documentation
+ include ::EachBatch
+
+ self.table_name = 'projects'
+
+ scope :base_query, -> { where.not(runners_token: nil) }
+ end
+
+ def up
+ queue_background_migration_jobs_by_range_at_intervals(
+ Project.base_query,
+ MIGRATION,
+ DELAY_INTERVAL,
+ batch_size: BATCH_SIZE,
+ track_jobs: true
+ )
+ end
+
+ def down
+ # no-op
+ end
+end
diff --git a/db/post_migrate/20220331133802_schedule_backfill_topics_title.rb b/db/post_migrate/20220331133802_schedule_backfill_topics_title.rb
new file mode 100644
index 00000000000..8e594a9df52
--- /dev/null
+++ b/db/post_migrate/20220331133802_schedule_backfill_topics_title.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+class ScheduleBackfillTopicsTitle < Gitlab::Database::Migration[1.0]
+ MIGRATION = 'BackfillTopicsTitle'
+ DELAY_INTERVAL = 2.minutes
+
+ disable_ddl_transaction!
+
+ def up
+ queue_background_migration_jobs_by_range_at_intervals(
+ define_batchable_model('topics'),
+ MIGRATION,
+ DELAY_INTERVAL,
+ track_jobs: true
+ )
+ end
+
+ def down
+ # no-op
+ end
+end
diff --git a/db/post_migrate/20220404194649_replace_work_item_type_backfill_next_batch_strategy.rb b/db/post_migrate/20220404194649_replace_work_item_type_backfill_next_batch_strategy.rb
index 1f2c0715f04..9b74cef144f 100644
--- a/db/post_migrate/20220404194649_replace_work_item_type_backfill_next_batch_strategy.rb
+++ b/db/post_migrate/20220404194649_replace_work_item_type_backfill_next_batch_strategy.rb
@@ -1,21 +1,13 @@
# frozen_string_literal: true
class ReplaceWorkItemTypeBackfillNextBatchStrategy < Gitlab::Database::Migration[1.0]
- JOB_CLASS_NAME = 'BackfillWorkItemTypeIdForIssues'
- NEW_STRATEGY_CLASS = 'BackfillIssueWorkItemTypeBatchingStrategy'
- OLD_STRATEGY_CLASS = 'PrimaryKeyBatchingStrategy'
-
- class InlineBatchedMigration < ApplicationRecord
- self.table_name = :batched_background_migrations
- end
-
def up
- InlineBatchedMigration.where(job_class_name: JOB_CLASS_NAME)
- .update_all(batch_class_name: NEW_STRATEGY_CLASS)
+ # no-op
+ # migrations will be rescheduled with the correct batching class
+ # no need for this migration
end
def down
- InlineBatchedMigration.where(job_class_name: JOB_CLASS_NAME)
- .update_all(batch_class_name: OLD_STRATEGY_CLASS)
+ # no-op
end
end
diff --git a/db/post_migrate/20220405092619_toggle_vsa_aggregations_enable.rb b/db/post_migrate/20220405092619_toggle_vsa_aggregations_enable.rb
new file mode 100644
index 00000000000..da1353b5cf9
--- /dev/null
+++ b/db/post_migrate/20220405092619_toggle_vsa_aggregations_enable.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class ToggleVsaAggregationsEnable < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ def up
+ model = define_batchable_model('analytics_cycle_analytics_aggregations')
+
+ model.each_batch(of: 100) do |relation|
+ relation.where('enabled IS FALSE').update_all(enabled: true)
+ end
+ end
+
+ def down
+ # noop
+ end
+end
diff --git a/db/post_migrate/20220411173544_cleanup_orphans_approval_project_rules.rb b/db/post_migrate/20220411173544_cleanup_orphans_approval_project_rules.rb
new file mode 100644
index 00000000000..f7132407adb
--- /dev/null
+++ b/db/post_migrate/20220411173544_cleanup_orphans_approval_project_rules.rb
@@ -0,0 +1,38 @@
+# frozen_string_literal: true
+
+# See https://docs.gitlab.com/ee/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class CleanupOrphansApprovalProjectRules < Gitlab::Database::Migration[1.0]
+ class ApprovalProjectRule < ActiveRecord::Base
+ self.table_name = 'approval_project_rules'
+ end
+
+ def up
+ return unless Gitlab.ee?
+
+ ApprovalProjectRule.reset_column_information
+
+ logger = ::Gitlab::BackgroundMigration::Logger.build
+ records_ids = []
+
+ # Related enum: report_type: { vulnerability: 1, license_scanning: 2, code_coverage: 3, scan_finding: 4 }
+ ApprovalProjectRule.where(report_type: 4)
+ .joins("LEFT JOIN security_orchestration_policy_configurations
+ ON approval_project_rules.project_id = security_orchestration_policy_configurations.project_id")
+ .where(security_orchestration_policy_configurations: { project_id: nil }).each do |record|
+ records_ids << record.id
+ logger.info(
+ message: "CleanupOrphansApprovalProjectRules with record id: #{record.id}",
+ class: ApprovalProjectRule.name,
+ attributes: record.attributes
+ )
+ end
+
+ ApprovalProjectRule.where(id: records_ids).delete_all
+ end
+
+ def down
+ # no-op
+ end
+end
diff --git a/db/post_migrate/20220412044906_finalize_traversal_ids_background_migrations.rb b/db/post_migrate/20220412044906_finalize_traversal_ids_background_migrations.rb
index f2aa9c0b717..fb43e13364d 100644
--- a/db/post_migrate/20220412044906_finalize_traversal_ids_background_migrations.rb
+++ b/db/post_migrate/20220412044906_finalize_traversal_ids_background_migrations.rb
@@ -1,6 +1,8 @@
# frozen_string_literal: true
class FinalizeTraversalIdsBackgroundMigrations < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
def up
finalize_background_migration('BackfillNamespaceTraversalIdsRoots')
finalize_background_migration('BackfillNamespaceTraversalIdsChildren')
diff --git a/db/post_migrate/20220415124802_remove_job_artifact_deprecated_geo_fields.rb b/db/post_migrate/20220415124802_remove_job_artifact_deprecated_geo_fields.rb
new file mode 100644
index 00000000000..65432ba3ce1
--- /dev/null
+++ b/db/post_migrate/20220415124802_remove_job_artifact_deprecated_geo_fields.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+class RemoveJobArtifactDeprecatedGeoFields < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ def up
+ with_lock_retries do
+ remove_column :geo_event_log, :job_artifact_deleted_event_id, :bigint
+ end
+ end
+
+ def down
+ with_lock_retries do
+ unless column_exists?(:geo_event_log, :job_artifact_deleted_event_id)
+ add_column(:geo_event_log, :job_artifact_deleted_event_id, :bigint)
+ end
+ end
+
+ add_concurrent_foreign_key :geo_event_log, :geo_job_artifact_deleted_events,
+ column: :job_artifact_deleted_event_id,
+ name: 'fk_176d3fbb5d',
+ on_delete: :cascade
+
+ add_concurrent_index :geo_event_log,
+ :job_artifact_deleted_event_id,
+ name: 'index_geo_event_log_on_job_artifact_deleted_event_id',
+ where: "(job_artifact_deleted_event_id IS NOT NULL)"
+ end
+end
diff --git a/db/post_migrate/20220415124804_remove_job_artifact_deleted_event_table.rb b/db/post_migrate/20220415124804_remove_job_artifact_deleted_event_table.rb
new file mode 100644
index 00000000000..05b716f26ab
--- /dev/null
+++ b/db/post_migrate/20220415124804_remove_job_artifact_deleted_event_table.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class RemoveJobArtifactDeletedEventTable < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ def up
+ drop_table :geo_job_artifact_deleted_events
+ end
+
+ def down
+ create_table :geo_job_artifact_deleted_events, id: :bigserial do |t|
+ t.bigint :job_artifact_id, null: false, index: true
+ t.string :file_path, null: false
+ end
+ end
+end
diff --git a/db/post_migrate/20220420061439_add_notes_null_discussion_id_temp_index.rb b/db/post_migrate/20220420061439_add_notes_null_discussion_id_temp_index.rb
new file mode 100644
index 00000000000..35a6d5f5b10
--- /dev/null
+++ b/db/post_migrate/20220420061439_add_notes_null_discussion_id_temp_index.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class AddNotesNullDiscussionIdTempIndex < Gitlab::Database::Migration[2.0]
+ # Temporary index to be removed in 15.0 https://gitlab.com/gitlab-org/gitlab/-/issues/357581
+ INDEX_NAME = 'tmp_index_notes_on_id_where_discussion_id_is_null'
+
+ disable_ddl_transaction!
+
+ def up
+ add_concurrent_index :notes, :id, where: 'discussion_id IS NULL', name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :notes, INDEX_NAME
+ end
+end
diff --git a/db/post_migrate/20220420061450_backfill_null_note_discussion_ids.rb b/db/post_migrate/20220420061450_backfill_null_note_discussion_ids.rb
new file mode 100644
index 00000000000..8880bc2f748
--- /dev/null
+++ b/db/post_migrate/20220420061450_backfill_null_note_discussion_ids.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+class BackfillNullNoteDiscussionIds < Gitlab::Database::Migration[2.0]
+ MIGRATION = 'BackfillNoteDiscussionId'
+ DELAY_INTERVAL = 2.minutes
+ BATCH_SIZE = 10_000
+
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ disable_ddl_transaction!
+
+ class Note < MigrationRecord
+ include EachBatch
+
+ self.table_name = 'notes'
+ self.inheritance_column = :_type_disabled
+ end
+
+ def up
+ queue_background_migration_jobs_by_range_at_intervals(
+ Note.where(discussion_id: nil),
+ MIGRATION,
+ DELAY_INTERVAL,
+ batch_size: BATCH_SIZE
+ )
+ end
+
+ def down
+ # no-op
+ end
+end
diff --git a/db/post_migrate/20220420135946_update_batched_background_migration_arguments.rb b/db/post_migrate/20220420135946_update_batched_background_migration_arguments.rb
new file mode 100644
index 00000000000..40ed98dcb5e
--- /dev/null
+++ b/db/post_migrate/20220420135946_update_batched_background_migration_arguments.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class UpdateBatchedBackgroundMigrationArguments < Gitlab::Database::Migration[1.0]
+ def up
+ execute(<<~SQL)
+ UPDATE batched_background_migrations
+ SET job_arguments = '[]'
+ WHERE job_arguments = '"[]"';
+ SQL
+ end
+
+ def down
+ execute(<<~SQL)
+ UPDATE batched_background_migrations
+ SET job_arguments = '"[]"'
+ WHERE job_arguments = '[]';
+ SQL
+ end
+end
diff --git a/db/post_migrate/20220420214703_schedule_backfill_draft_status_on_merge_requests_corrected_regex.rb b/db/post_migrate/20220420214703_schedule_backfill_draft_status_on_merge_requests_corrected_regex.rb
new file mode 100644
index 00000000000..1001aca583b
--- /dev/null
+++ b/db/post_migrate/20220420214703_schedule_backfill_draft_status_on_merge_requests_corrected_regex.rb
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+class ScheduleBackfillDraftStatusOnMergeRequestsCorrectedRegex < Gitlab::Database::Migration[1.0]
+ INDEX_NAME = "tmp_index_merge_requests_draft_and_status"
+ MIGRATION = "BackfillDraftStatusOnMergeRequestsWithCorrectedRegex"
+ DELAY_INTERVAL = 2.minutes
+ BATCH_SIZE = 50
+ CORRECTED_REGEXP_STR = "^(\\[draft\\]|\\(draft\\)|draft:|draft|\\[WIP\\]|WIP:|WIP)"
+
+ disable_ddl_transaction!
+
+ def up
+ add_concurrent_index :merge_requests, :id,
+ where: "draft = false AND state_id = 1 AND ((title)::text ~* '#{CORRECTED_REGEXP_STR}'::text)",
+ name: INDEX_NAME
+
+ eligible_mrs = MergeRequest.where(state_id: 1)
+ .where(draft: false)
+ .where("title ~* ?", "#{CORRECTED_REGEXP_STR}")
+
+ queue_background_migration_jobs_by_range_at_intervals(
+ eligible_mrs,
+ MIGRATION,
+ DELAY_INTERVAL,
+ track_jobs: true,
+ batch_size: BATCH_SIZE
+ )
+ end
+
+ def down
+ remove_concurrent_index_by_name :merge_requests, INDEX_NAME
+ end
+end
diff --git a/db/post_migrate/20220422121443_add_async_index_for_group_activity_events.rb b/db/post_migrate/20220422121443_add_async_index_for_group_activity_events.rb
new file mode 100644
index 00000000000..92b97203eed
--- /dev/null
+++ b/db/post_migrate/20220422121443_add_async_index_for_group_activity_events.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddAsyncIndexForGroupActivityEvents < Gitlab::Database::Migration[2.0]
+ INDEX_NAME = 'index_events_for_group_activity'
+
+ def up
+ prepare_async_index :events, %I[group_id target_type action id], name: INDEX_NAME, where: 'group_id IS NOT NULL'
+ end
+
+ def down
+ unprepare_async_index :events, %I[group_id target_type action id], name: INDEX_NAME, where: 'group_id IS NOT NULL'
+ end
+end
diff --git a/db/post_migrate/20220425111114_add_async_index_for_project_activity_events.rb b/db/post_migrate/20220425111114_add_async_index_for_project_activity_events.rb
new file mode 100644
index 00000000000..b203ceca976
--- /dev/null
+++ b/db/post_migrate/20220425111114_add_async_index_for_project_activity_events.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddAsyncIndexForProjectActivityEvents < Gitlab::Database::Migration[2.0]
+ INDEX_NAME = 'index_events_for_project_activity'
+
+ def up
+ prepare_async_index :events, %I[project_id target_type action id], name: INDEX_NAME
+ end
+
+ def down
+ unprepare_async_index :events, %I[project_id target_type action id], name: INDEX_NAME
+ end
+end
diff --git a/db/post_migrate/20220425111453_add_async_index_to_events_on_group_id_and_id.rb b/db/post_migrate/20220425111453_add_async_index_to_events_on_group_id_and_id.rb
new file mode 100644
index 00000000000..313a31d8964
--- /dev/null
+++ b/db/post_migrate/20220425111453_add_async_index_to_events_on_group_id_and_id.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddAsyncIndexToEventsOnGroupIdAndId < Gitlab::Database::Migration[2.0]
+ INDEX_NAME = 'index_events_on_group_id_and_id'
+
+ def up
+ prepare_async_index :events, %I[group_id id], name: INDEX_NAME, where: 'group_id IS NOT NULL'
+ end
+
+ def down
+ unprepare_async_index :events, %I[group_id id], name: INDEX_NAME, where: 'group_id IS NOT NULL'
+ end
+end
diff --git a/db/post_migrate/20220425121410_add_temporary_index_for_backfill_integrations_enable_ssl_verification.rb b/db/post_migrate/20220425121410_add_temporary_index_for_backfill_integrations_enable_ssl_verification.rb
new file mode 100644
index 00000000000..d0f8e60fa54
--- /dev/null
+++ b/db/post_migrate/20220425121410_add_temporary_index_for_backfill_integrations_enable_ssl_verification.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class AddTemporaryIndexForBackfillIntegrationsEnableSslVerification < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'tmp_index_integrations_on_id_where_type_droneci_or_teamcity'
+ INDEX_CONDITION = "type_new IN ('Integrations::DroneCi', 'Integrations::Teamcity') " \
+ "AND encrypted_properties IS NOT NULL"
+
+ def up
+ # this index is used in 20220209121435_backfill_integrations_enable_ssl_verification
+ add_concurrent_index :integrations, :id, where: INDEX_CONDITION, name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :integrations, INDEX_NAME
+ end
+end
diff --git a/db/post_migrate/20220425121435_backfill_integrations_enable_ssl_verification.rb b/db/post_migrate/20220425121435_backfill_integrations_enable_ssl_verification.rb
new file mode 100644
index 00000000000..101bde975db
--- /dev/null
+++ b/db/post_migrate/20220425121435_backfill_integrations_enable_ssl_verification.rb
@@ -0,0 +1,57 @@
+# frozen_string_literal: true
+
+class BackfillIntegrationsEnableSslVerification < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ MIGRATION = 'BackfillIntegrationsEnableSslVerification'
+ INTERVAL = 5.minutes
+ BATCH_SIZE = 1_000
+
+ class Integration < MigrationRecord
+ include EachBatch
+ include IgnorableColumns
+
+ self.table_name = :integrations
+ self.inheritance_column = :_type_disabled
+
+ ignore_column :template, remove_with: '15.0', remove_after: '2022-04-22'
+ ignore_column :type, remove_with: '15.0', remove_after: '2022-04-22'
+ ignore_column :properties, remove_with: '15.1', remove_after: '2022-05-22'
+
+ scope :affected, -> do
+ where(type_new: %w[Integrations::DroneCi Integrations::Teamcity]).where.not(encrypted_properties: nil)
+ end
+
+ attr_encrypted :properties,
+ mode: :per_attribute_iv,
+ key: Settings.attr_encrypted_db_key_base_32,
+ algorithm: 'aes-256-gcm',
+ marshal: true,
+ marshaler: ::Gitlab::Json,
+ encode: false,
+ encode_iv: false
+
+ # Handle assignment of props with symbol keys.
+ # To do this correctly, we need to call the method generated by attr_encrypted.
+ alias_method :attr_encrypted_props=, :properties=
+ private :attr_encrypted_props=
+
+ def properties=(props)
+ self.attr_encrypted_props = props&.with_indifferent_access&.freeze
+ end
+ end
+
+ def up
+ queue_background_migration_jobs_by_range_at_intervals(
+ Integration.affected,
+ MIGRATION,
+ INTERVAL,
+ batch_size: BATCH_SIZE,
+ track_jobs: true
+ )
+ end
+
+ def down
+ end
+end
diff --git a/db/post_migrate/20220426185933_backfill_deployments_finished_at.rb b/db/post_migrate/20220426185933_backfill_deployments_finished_at.rb
new file mode 100644
index 00000000000..860756de298
--- /dev/null
+++ b/db/post_migrate/20220426185933_backfill_deployments_finished_at.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+class BackfillDeploymentsFinishedAt < Gitlab::Database::Migration[2.0]
+ DEPLOYMENT_STATUS_SUCCESS = 2 # Equivalent to Deployment.statuses[:success]
+
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ BATCH_SIZE = 100
+
+ def up
+ define_batchable_model('deployments')
+ .where(finished_at: nil)
+ .where(status: DEPLOYMENT_STATUS_SUCCESS)
+ .each_batch(of: BATCH_SIZE) { |relation| relation.update_all('finished_at = created_at') }
+ end
+
+ def down
+ # no-op
+ end
+end
diff --git a/db/post_migrate/20220428133724_schedule_expire_o_auth_tokens.rb b/db/post_migrate/20220428133724_schedule_expire_o_auth_tokens.rb
new file mode 100644
index 00000000000..3e0e9b8af0e
--- /dev/null
+++ b/db/post_migrate/20220428133724_schedule_expire_o_auth_tokens.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+class ScheduleExpireOAuthTokens < Gitlab::Database::Migration[2.0]
+ def up
+ # reschedulled with db/post_migrate/20220513043344_reschedule_expire_o_auth_tokens.rb
+ end
+
+ def down
+ # reschedulled with db/post_migrate/20220513043344_reschedule_expire_o_auth_tokens.rb
+ end
+end
diff --git a/db/post_migrate/20220502015011_clean_up_fix_merge_request_diff_commit_users.rb b/db/post_migrate/20220502015011_clean_up_fix_merge_request_diff_commit_users.rb
new file mode 100644
index 00000000000..582a0f5cf37
--- /dev/null
+++ b/db/post_migrate/20220502015011_clean_up_fix_merge_request_diff_commit_users.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class CleanUpFixMergeRequestDiffCommitUsers < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ MIGRATION_CLASS = 'FixMergeRequestDiffCommitUsers'
+
+ def up
+ finalize_background_migration(MIGRATION_CLASS)
+ end
+
+ def down
+ # no-op
+ end
+end
diff --git a/db/post_migrate/20220502173045_reset_too_many_tags_skipped_registry_imports.rb b/db/post_migrate/20220502173045_reset_too_many_tags_skipped_registry_imports.rb
new file mode 100644
index 00000000000..e327035d6c9
--- /dev/null
+++ b/db/post_migrate/20220502173045_reset_too_many_tags_skipped_registry_imports.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+class ResetTooManyTagsSkippedRegistryImports < Gitlab::Database::Migration[2.0]
+ MIGRATION = 'ResetTooManyTagsSkippedRegistryImports'
+ DELAY_INTERVAL = 2.minutes.to_i
+ BATCH_SIZE = 10_000
+
+ disable_ddl_transaction!
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ def up
+ queue_background_migration_jobs_by_range_at_intervals(
+ define_batchable_model('container_repositories').where(
+ migration_state: 'import_skipped',
+ migration_skipped_reason: 2
+ ),
+ MIGRATION,
+ DELAY_INTERVAL,
+ batch_size: BATCH_SIZE,
+ track_jobs: true
+ )
+ end
+
+ def down
+ # no-op
+ end
+end
diff --git a/db/post_migrate/20220503114353_prepare_confidential_note_index.rb b/db/post_migrate/20220503114353_prepare_confidential_note_index.rb
new file mode 100644
index 00000000000..08e60f3d935
--- /dev/null
+++ b/db/post_migrate/20220503114353_prepare_confidential_note_index.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class PrepareConfidentialNoteIndex < Gitlab::Database::Migration[2.0]
+ INDEX_NAME = 'index_notes_on_confidential'
+
+ def up
+ prepare_async_index :notes, :confidential, where: 'confidential = true', name: INDEX_NAME
+ end
+
+ def down
+ unprepare_async_index :notes, :confidential, name: INDEX_NAME
+ end
+end
diff --git a/db/post_migrate/20220503134610_remove_requirements_management_test_reports_requirement_id.rb b/db/post_migrate/20220503134610_remove_requirements_management_test_reports_requirement_id.rb
new file mode 100644
index 00000000000..4c46a02c99f
--- /dev/null
+++ b/db/post_migrate/20220503134610_remove_requirements_management_test_reports_requirement_id.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+class RemoveRequirementsManagementTestReportsRequirementId < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ TARGET_TABLE = :requirements_management_test_reports
+ CONSTRAINT_NAME = 'fk_rails_fb3308ad55'
+
+ def up
+ with_lock_retries do
+ remove_column TARGET_TABLE, :requirement_id
+ end
+ end
+
+ def down
+ unless column_exists?(TARGET_TABLE, :requirement_id)
+ with_lock_retries do
+ add_column TARGET_TABLE, :requirement_id, :bigint, after: :created_at
+ end
+ end
+
+ add_concurrent_index TARGET_TABLE, :requirement_id,
+ name: :index_requirements_management_test_reports_on_requirement_id
+
+ add_concurrent_foreign_key TARGET_TABLE, :requirements,
+ column: :requirement_id, name: CONSTRAINT_NAME, on_delete: :cascade
+ end
+end
diff --git a/db/post_migrate/20220504083348_add_indexes_for_primary_email_post_regression_cleanup_migration.rb b/db/post_migrate/20220504083348_add_indexes_for_primary_email_post_regression_cleanup_migration.rb
new file mode 100644
index 00000000000..ba0457fa36e
--- /dev/null
+++ b/db/post_migrate/20220504083348_add_indexes_for_primary_email_post_regression_cleanup_migration.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+class AddIndexesForPrimaryEmailPostRegressionCleanupMigration < Gitlab::Database::Migration[2.0]
+ USERS_INDEX = :index_users_on_id_for_primary_email_migration
+ EMAIL_INDEX = :index_emails_on_email_user_id
+
+ disable_ddl_transaction!
+
+ def up
+ unless index_exists_by_name?(:users, USERS_INDEX)
+
+ disable_statement_timeout do
+ execute <<~SQL
+ CREATE INDEX CONCURRENTLY #{USERS_INDEX}
+ ON users (id) INCLUDE (email, confirmed_at)
+ WHERE confirmed_at IS NOT NULL
+ SQL
+ end
+ end
+
+ add_concurrent_index :emails, [:email, :user_id], name: EMAIL_INDEX
+ end
+
+ def down
+ remove_concurrent_index_by_name :users, USERS_INDEX
+ remove_concurrent_index_by_name :emails, EMAIL_INDEX
+ end
+end
diff --git a/db/post_migrate/20220504083836_cleanup_after_fixing_regression_with_new_users_emails.rb b/db/post_migrate/20220504083836_cleanup_after_fixing_regression_with_new_users_emails.rb
new file mode 100644
index 00000000000..110e2578cd5
--- /dev/null
+++ b/db/post_migrate/20220504083836_cleanup_after_fixing_regression_with_new_users_emails.rb
@@ -0,0 +1,59 @@
+# frozen_string_literal: true
+
+class CleanupAfterFixingRegressionWithNewUsersEmails < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ BATCH_SIZE = 10_000
+
+ # Stubbed class to access the User table
+ class User < MigrationRecord
+ include ::EachBatch
+
+ self.table_name = 'users'
+ self.inheritance_column = :_type_disabled
+
+ scope :confirmed, -> { where.not(confirmed_at: nil) }
+
+ has_many :emails
+ end
+
+ # Stubbed class to access the Emails table
+ class Email < MigrationRecord
+ self.table_name = 'emails'
+ self.inheritance_column = :_type_disabled
+
+ belongs_to :user
+ end
+
+ # rubocop: disable Layout/LineLength
+ def up
+ # Select confirmed users that do not have their primary email in the emails table,
+ # and create the email record.
+ not_exists_condition = 'NOT EXISTS (SELECT 1 FROM emails WHERE emails.email = users.email AND emails.user_id = users.id)'
+
+ User.confirmed.each_batch(of: BATCH_SIZE) do |user_batch|
+ user_batch.select(:id, :email, :confirmed_at).where(not_exists_condition).each do |user|
+ current_time = Time.now.utc
+
+ begin
+ Email.create(
+ user_id: user.id,
+ email: user.email,
+ confirmed_at: user.confirmed_at,
+ created_at: current_time,
+ updated_at: current_time
+ )
+ rescue StandardError => error
+ Gitlab::AppLogger.error("Could not add primary email #{user.email} to emails for user with ID #{user.id} due to #{error}")
+ end
+ end
+ end
+ end
+ # rubocop: enable Layout/LineLength
+
+ def down
+ # Intentionally left blank
+ end
+end
diff --git a/db/post_migrate/20220504084136_drop_temporary_indexes_for_primary_email_post_regression_cleanup.rb b/db/post_migrate/20220504084136_drop_temporary_indexes_for_primary_email_post_regression_cleanup.rb
new file mode 100644
index 00000000000..60c69426a8a
--- /dev/null
+++ b/db/post_migrate/20220504084136_drop_temporary_indexes_for_primary_email_post_regression_cleanup.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+class DropTemporaryIndexesForPrimaryEmailPostRegressionCleanup < Gitlab::Database::Migration[2.0]
+ USERS_INDEX = :index_users_on_id_for_primary_email_migration
+ EMAIL_INDEX = :index_emails_on_email_user_id
+
+ disable_ddl_transaction!
+
+ def up
+ remove_concurrent_index_by_name :users, USERS_INDEX
+ remove_concurrent_index_by_name :emails, EMAIL_INDEX
+ end
+
+ def down
+ unless index_exists_by_name?(:users, USERS_INDEX)
+
+ disable_statement_timeout do
+ execute <<~SQL
+ CREATE INDEX CONCURRENTLY #{USERS_INDEX}
+ ON users (id) INCLUDE (email, confirmed_at)
+ WHERE confirmed_at IS NOT NULL
+ SQL
+ end
+ end
+
+ add_concurrent_index :emails, [:email, :user_id], name: EMAIL_INDEX
+ end
+end
diff --git a/db/post_migrate/20220505022001_add_index_to_deployments_on_created_at_cluster_id_and_project_id.rb b/db/post_migrate/20220505022001_add_index_to_deployments_on_created_at_cluster_id_and_project_id.rb
new file mode 100644
index 00000000000..c78c3a86cf3
--- /dev/null
+++ b/db/post_migrate/20220505022001_add_index_to_deployments_on_created_at_cluster_id_and_project_id.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+class AddIndexToDeploymentsOnCreatedAtClusterIdAndProjectId < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ # This temporary index was created to support the script that will be run as part o this
+ # Change Request: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/6981
+ #
+ # Issue to remove the temporary index: https://gitlab.com/gitlab-org/gitlab/-/issues/361389
+ INDEX_NAME = 'tp_index_created_at_cluster_id_project_id_on_deployments'
+
+ # The change request will only run for deployments newer than this date. This is what we'll
+ # be considering as "Active certificate based cluster Kubernetes Deployments". Namespaces with
+ # deployments older than this will have to be migrated to the agent and won't have their
+ # certificate based clusters life extended.
+ DEPLOYMENTS_START_DATE = '2022-04-03 00:00:00'
+
+ def up
+ add_concurrent_index(
+ :deployments,
+ [:created_at, :cluster_id, :project_id],
+ name: INDEX_NAME,
+ where: "cluster_id is not null and created_at > '#{DEPLOYMENTS_START_DATE}'")
+ end
+
+ def down
+ remove_concurrent_index_by_name(:deployments, INDEX_NAME)
+ end
+end
diff --git a/db/post_migrate/20220505044348_fix_automatic_iterations_cadences_start_date.rb b/db/post_migrate/20220505044348_fix_automatic_iterations_cadences_start_date.rb
new file mode 100644
index 00000000000..90d70da1a28
--- /dev/null
+++ b/db/post_migrate/20220505044348_fix_automatic_iterations_cadences_start_date.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+class FixAutomaticIterationsCadencesStartDate < Gitlab::Database::Migration[2.0]
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ def up
+ execute(<<~SQL)
+ UPDATE iterations_cadences
+ SET start_date=COALESCE(
+ (
+ SELECT start_date
+ FROM sprints
+ WHERE iterations_cadences.id=sprints.iterations_cadence_id
+ ORDER BY sprints.start_date ASC
+ LIMIT 1
+ ),
+ start_date
+ )
+ WHERE iterations_cadences.automatic=true;
+ SQL
+ end
+
+ def down
+ # no-op
+ # The migration updates the records for the feature used behind a non-default feature flag.
+ # The correct data can be computed with the records from 'sprints' table.
+ end
+end
diff --git a/db/post_migrate/20220505053504_remove_namespaces_id_parent_id_inverse_partial_index.rb b/db/post_migrate/20220505053504_remove_namespaces_id_parent_id_inverse_partial_index.rb
new file mode 100644
index 00000000000..aca3ccaa03e
--- /dev/null
+++ b/db/post_migrate/20220505053504_remove_namespaces_id_parent_id_inverse_partial_index.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class RemoveNamespacesIdParentIdInversePartialIndex < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ NAME = 'index_namespaces_id_parent_id_is_not_null'
+
+ def up
+ remove_concurrent_index :namespaces, :id, name: NAME
+ end
+
+ def down
+ add_concurrent_index :namespaces, :id, where: 'parent_id IS NOT NULL', name: NAME
+ end
+end
diff --git a/db/post_migrate/20220505060011_remove_namespaces_id_parent_id_partial_index.rb b/db/post_migrate/20220505060011_remove_namespaces_id_parent_id_partial_index.rb
new file mode 100644
index 00000000000..5125a97af7e
--- /dev/null
+++ b/db/post_migrate/20220505060011_remove_namespaces_id_parent_id_partial_index.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class RemoveNamespacesIdParentIdPartialIndex < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ NAME = 'index_namespaces_id_parent_id_is_null'
+
+ def up
+ remove_concurrent_index :namespaces, :id, name: NAME
+ end
+
+ def down
+ add_concurrent_index :namespaces, :id, where: 'parent_id IS NULL', name: NAME
+ end
+end
diff --git a/db/post_migrate/20220505174658_update_index_on_alerts_to_exclude_null_fingerprints.rb b/db/post_migrate/20220505174658_update_index_on_alerts_to_exclude_null_fingerprints.rb
new file mode 100644
index 00000000000..5cffdb641d6
--- /dev/null
+++ b/db/post_migrate/20220505174658_update_index_on_alerts_to_exclude_null_fingerprints.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+class UpdateIndexOnAlertsToExcludeNullFingerprints < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ OLD_INDEX_NAME = 'index_partial_am_alerts_on_project_id_and_fingerprint'
+ NEW_INDEX_NAME = 'index_unresolved_alerts_on_project_id_and_fingerprint'
+
+ def up
+ add_concurrent_index :alert_management_alerts,
+ [:project_id, :fingerprint],
+ where: "fingerprint IS NOT NULL and status <> 2",
+ name: NEW_INDEX_NAME,
+ unique: true
+
+ remove_concurrent_index_by_name :alert_management_alerts, OLD_INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index :alert_management_alerts,
+ [:project_id, :fingerprint],
+ where: "status <> 2",
+ name: OLD_INDEX_NAME,
+ unique: true
+
+ remove_concurrent_index_by_name :alert_management_alerts, NEW_INDEX_NAME
+ end
+end
diff --git a/db/post_migrate/20220505193512_add_not_null_constraint_to_issues_work_item_type.rb b/db/post_migrate/20220505193512_add_not_null_constraint_to_issues_work_item_type.rb
new file mode 100644
index 00000000000..3ea003383a6
--- /dev/null
+++ b/db/post_migrate/20220505193512_add_not_null_constraint_to_issues_work_item_type.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddNotNullConstraintToIssuesWorkItemType < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ def up
+ add_not_null_constraint :issues, :work_item_type_id, validate: false
+ end
+
+ def down
+ remove_not_null_constraint :issues, :work_item_type_id
+ end
+end
diff --git a/db/post_migrate/20220506201639_remove_devops_adoption_security_scan_succeeded_column.rb b/db/post_migrate/20220506201639_remove_devops_adoption_security_scan_succeeded_column.rb
new file mode 100644
index 00000000000..64722919aff
--- /dev/null
+++ b/db/post_migrate/20220506201639_remove_devops_adoption_security_scan_succeeded_column.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+class RemoveDevopsAdoptionSecurityScanSucceededColumn < Gitlab::Database::Migration[2.0]
+ def up
+ remove_column :analytics_devops_adoption_snapshots, :security_scan_succeeded
+ end
+
+ def down
+ add_column :analytics_devops_adoption_snapshots, :security_scan_succeeded, :boolean
+ end
+end
diff --git a/db/post_migrate/20220510003916_remove_tmp_empty_traversal_ids_root_namespace_index.rb b/db/post_migrate/20220510003916_remove_tmp_empty_traversal_ids_root_namespace_index.rb
new file mode 100644
index 00000000000..424c6f164e7
--- /dev/null
+++ b/db/post_migrate/20220510003916_remove_tmp_empty_traversal_ids_root_namespace_index.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class RemoveTmpEmptyTraversalIdsRootNamespaceIndex < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ ROOT_NS_INDEX_NAME = 'tmp_index_namespaces_empty_traversal_ids_with_root_namespaces'
+
+ def up
+ remove_concurrent_index :namespaces, :id, name: ROOT_NS_INDEX_NAME
+ end
+
+ def down
+ where_sql = "parent_id IS NULL AND traversal_ids = '{}'"
+ add_concurrent_index :namespaces, :id, where: where_sql, name: ROOT_NS_INDEX_NAME
+ end
+end
diff --git a/db/post_migrate/20220510004501_remove_tmp_empty_traversal_ids_child_namespace_index.rb b/db/post_migrate/20220510004501_remove_tmp_empty_traversal_ids_child_namespace_index.rb
new file mode 100644
index 00000000000..804b20a38e9
--- /dev/null
+++ b/db/post_migrate/20220510004501_remove_tmp_empty_traversal_ids_child_namespace_index.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class RemoveTmpEmptyTraversalIdsChildNamespaceIndex < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ CHILD_INDEX_NAME = 'tmp_index_namespaces_empty_traversal_ids_with_child_namespaces'
+
+ def up
+ remove_concurrent_index :namespaces, :id, name: CHILD_INDEX_NAME
+ end
+
+ def down
+ where_sql = "parent_id IS NOT NULL AND traversal_ids = '{}'"
+ add_concurrent_index :namespaces, :id, where: where_sql, name: CHILD_INDEX_NAME
+ end
+end
diff --git a/db/post_migrate/20220511152439_remove_not_null_constraint_from_work_item_type.rb b/db/post_migrate/20220511152439_remove_not_null_constraint_from_work_item_type.rb
new file mode 100644
index 00000000000..f56763cdafb
--- /dev/null
+++ b/db/post_migrate/20220511152439_remove_not_null_constraint_from_work_item_type.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class RemoveNotNullConstraintFromWorkItemType < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ # https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85866 introduced a NOT NULL constraint on
+ # `issues` which caused QA failures (https://gitlab.com/gitlab-org/gitlab/-/issues/362023), and
+ # Helm database issues resulting in broken tests after restoring the database.
+ def up
+ remove_not_null_constraint :issues, :work_item_type_id, constraint_name: 'check_2addf801cd'
+ end
+
+ def down
+ add_not_null_constraint :issues, :work_item_type_id, validate: false
+ end
+end
diff --git a/db/post_migrate/20220513043344_reschedule_expire_o_auth_tokens.rb b/db/post_migrate/20220513043344_reschedule_expire_o_auth_tokens.rb
new file mode 100644
index 00000000000..0c8a2386583
--- /dev/null
+++ b/db/post_migrate/20220513043344_reschedule_expire_o_auth_tokens.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+class RescheduleExpireOAuthTokens < Gitlab::Database::Migration[2.0]
+ MIGRATION = 'ExpireOAuthTokens'
+ INTERVAL = 2.minutes.freeze
+
+ disable_ddl_transaction!
+
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ def up
+ # remove the original migration from db/post_migrate/20220428133724_schedule_expire_o_auth_tokens.rb
+ Gitlab::Database::BackgroundMigration::BatchedMigration
+ .for_configuration(MIGRATION, :oauth_access_tokens, :id, [])
+ .delete_all
+
+ # reschedule
+ queue_batched_background_migration(
+ MIGRATION,
+ :oauth_access_tokens,
+ :id,
+ job_interval: INTERVAL
+ )
+ end
+
+ def down
+ Gitlab::Database::BackgroundMigration::BatchedMigration
+ .for_configuration(MIGRATION, :oauth_access_tokens, :id, [])
+ .delete_all
+ end
+end
diff --git a/db/post_migrate/20220517144749_remove_vulnerability_approval_rules.rb b/db/post_migrate/20220517144749_remove_vulnerability_approval_rules.rb
new file mode 100644
index 00000000000..83e3784c3aa
--- /dev/null
+++ b/db/post_migrate/20220517144749_remove_vulnerability_approval_rules.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+# See https://docs.gitlab.com/ee/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class RemoveVulnerabilityApprovalRules < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ class ApprovalProjectRule < MigrationRecord
+ self.table_name = 'approval_project_rules'
+
+ enum report_type: { vulnerability: 1, license_scanning: 2, code_coverage: 3, scan_finding: 4 }
+ end
+
+ def up
+ return unless Gitlab.ee?
+
+ ApprovalProjectRule.reset_column_information
+
+ ApprovalProjectRule.vulnerability.delete_all
+ end
+
+ def down
+ # no-op
+ # Vulnerability-Check feature has been removed as part of 15.0
+ end
+end
diff --git a/db/schema_migrations/20211103184303 b/db/schema_migrations/20211103184303
new file mode 100644
index 00000000000..f488474ce82
--- /dev/null
+++ b/db/schema_migrations/20211103184303
@@ -0,0 +1 @@
+fdec8e2d58c5b857a997d7fa3536969df8c05b8c455811cbec984834e031f2cb \ No newline at end of file
diff --git a/db/schema_migrations/20220213100000 b/db/schema_migrations/20220213100000
new file mode 100644
index 00000000000..a62215351cd
--- /dev/null
+++ b/db/schema_migrations/20220213100000
@@ -0,0 +1 @@
+a6c1438ebcffca03e1c42ca9a233d087932fabcfd1eacf20dd801b9f574226e5 \ No newline at end of file
diff --git a/db/schema_migrations/20220213103859 b/db/schema_migrations/20220213103859
new file mode 100644
index 00000000000..8950d31675e
--- /dev/null
+++ b/db/schema_migrations/20220213103859
@@ -0,0 +1 @@
+ffc9a2dd97ace1f34e0cfca0c407dcf98dabf30379a441ba948261aec531fe85 \ No newline at end of file
diff --git a/db/schema_migrations/20220314154235 b/db/schema_migrations/20220314154235
new file mode 100644
index 00000000000..911a5dc9854
--- /dev/null
+++ b/db/schema_migrations/20220314154235
@@ -0,0 +1 @@
+b3015220caeb1d21856de8c5026e2db052e98e4fb1c4b4f3a931b8481c2b8240 \ No newline at end of file
diff --git a/db/schema_migrations/20220324091224 b/db/schema_migrations/20220324091224
new file mode 100644
index 00000000000..4be0647a91b
--- /dev/null
+++ b/db/schema_migrations/20220324091224
@@ -0,0 +1 @@
+7418b98f33ada13dedab493ad8a969808a18db2fa0188e428b1c685aabb3bc66 \ No newline at end of file
diff --git a/db/schema_migrations/20220324165436 b/db/schema_migrations/20220324165436
new file mode 100644
index 00000000000..e2e366134f6
--- /dev/null
+++ b/db/schema_migrations/20220324165436
@@ -0,0 +1 @@
+6fcf6e2ecc7d9b62adf20add28b1eeeebde449dfa52d2af67d9098768d3cb67e \ No newline at end of file
diff --git a/db/schema_migrations/20220328095848 b/db/schema_migrations/20220328095848
new file mode 100644
index 00000000000..83af691ee8e
--- /dev/null
+++ b/db/schema_migrations/20220328095848
@@ -0,0 +1 @@
+4d75e2180a30d3cdd4efa3b6a7d107e146b755faf0316e985a8813a85644af35 \ No newline at end of file
diff --git a/db/schema_migrations/20220328100456 b/db/schema_migrations/20220328100456
new file mode 100644
index 00000000000..a6017220eb0
--- /dev/null
+++ b/db/schema_migrations/20220328100456
@@ -0,0 +1 @@
+a27caa521761ff1f4513318eb4ce3ea0e29d101f260493598caf4c8cb0fcc931 \ No newline at end of file
diff --git a/db/schema_migrations/20220328100457 b/db/schema_migrations/20220328100457
new file mode 100644
index 00000000000..531ea3cd432
--- /dev/null
+++ b/db/schema_migrations/20220328100457
@@ -0,0 +1 @@
+954217de622b1ee360edbd89dd31c5a051001cf6879ce97c7b49c228321d48d7 \ No newline at end of file
diff --git a/db/schema_migrations/20220331125725 b/db/schema_migrations/20220331125725
new file mode 100644
index 00000000000..6f10644b517
--- /dev/null
+++ b/db/schema_migrations/20220331125725
@@ -0,0 +1 @@
+a7e5490e9b53cbbed01c03690cbe0bb4668adb17ec4fe14ca96e021f2e313b38 \ No newline at end of file
diff --git a/db/schema_migrations/20220331130726 b/db/schema_migrations/20220331130726
new file mode 100644
index 00000000000..d88e56d14c9
--- /dev/null
+++ b/db/schema_migrations/20220331130726
@@ -0,0 +1 @@
+bcaf6139100dc5658d33292e8e5484d1d6278f022eeb6e3bcd519efdccdf4470 \ No newline at end of file
diff --git a/db/schema_migrations/20220331133802 b/db/schema_migrations/20220331133802
new file mode 100644
index 00000000000..780876ac02e
--- /dev/null
+++ b/db/schema_migrations/20220331133802
@@ -0,0 +1 @@
+0e96430b245f6f04447ee50b6e0c0b9d7828cfeaf1f08e303aa04bb40a117a7f \ No newline at end of file
diff --git a/db/schema_migrations/20220401071609 b/db/schema_migrations/20220401071609
new file mode 100644
index 00000000000..1fa11a31867
--- /dev/null
+++ b/db/schema_migrations/20220401071609
@@ -0,0 +1 @@
+fa1651c066191279fe922b311be3e112b87648c52b1af7a81d7b73ebfe2f7177 \ No newline at end of file
diff --git a/db/schema_migrations/20220401151123 b/db/schema_migrations/20220401151123
new file mode 100644
index 00000000000..9dd7ec7854c
--- /dev/null
+++ b/db/schema_migrations/20220401151123
@@ -0,0 +1 @@
+eeb0e38915de7053811e36b0829a21472c041131d1399ebaf14811d407a43f1b \ No newline at end of file
diff --git a/db/schema_migrations/20220405092619 b/db/schema_migrations/20220405092619
new file mode 100644
index 00000000000..599f60fe611
--- /dev/null
+++ b/db/schema_migrations/20220405092619
@@ -0,0 +1 @@
+c5cd7bd6ad1dff678aaa2eea89dde757cdbc159cecc8abc5d098e9ce91d55c40 \ No newline at end of file
diff --git a/db/schema_migrations/20220406133049 b/db/schema_migrations/20220406133049
new file mode 100644
index 00000000000..4c67d7fd780
--- /dev/null
+++ b/db/schema_migrations/20220406133049
@@ -0,0 +1 @@
+bfd9afc3245a311f905548c18535a2d4216b3973b505b1e3217037e4c0a39a2e \ No newline at end of file
diff --git a/db/schema_migrations/20220411173544 b/db/schema_migrations/20220411173544
new file mode 100644
index 00000000000..e56cd4d9cfc
--- /dev/null
+++ b/db/schema_migrations/20220411173544
@@ -0,0 +1 @@
+0bb23775f65b9997e04dffe701ba609d26dde89796406941fbd27bf810b174ae \ No newline at end of file
diff --git a/db/schema_migrations/20220412060931 b/db/schema_migrations/20220412060931
new file mode 100644
index 00000000000..145d3aaf101
--- /dev/null
+++ b/db/schema_migrations/20220412060931
@@ -0,0 +1 @@
+504e7df63be512fb4f6d3abbf9ebe381752f2c24b63b2d6a4d11c64894c1555b \ No newline at end of file
diff --git a/db/schema_migrations/20220412135446 b/db/schema_migrations/20220412135446
new file mode 100644
index 00000000000..29fd0a2befc
--- /dev/null
+++ b/db/schema_migrations/20220412135446
@@ -0,0 +1 @@
+ec0dbbc2963943fd1449503c141fd8e84e5c0f58ab6b845734a61bedcd7da44a \ No newline at end of file
diff --git a/db/schema_migrations/20220412140446 b/db/schema_migrations/20220412140446
new file mode 100644
index 00000000000..c9c06daa26f
--- /dev/null
+++ b/db/schema_migrations/20220412140446
@@ -0,0 +1 @@
+28d84269536b34084bf060d72592119c580ad92ff9de481dd67770f07fc26ab4 \ No newline at end of file
diff --git a/db/schema_migrations/20220412140755 b/db/schema_migrations/20220412140755
new file mode 100644
index 00000000000..3a34d98162d
--- /dev/null
+++ b/db/schema_migrations/20220412140755
@@ -0,0 +1 @@
+95353be853064cd1038e8a416254017f33c42bfadf97eca6732a62c0796018f9 \ No newline at end of file
diff --git a/db/schema_migrations/20220412141020 b/db/schema_migrations/20220412141020
new file mode 100644
index 00000000000..6487e30776f
--- /dev/null
+++ b/db/schema_migrations/20220412141020
@@ -0,0 +1 @@
+bf0696047c736e361225ce33ee750def26ae2f9bd2ece9065799fd9514edbfcc \ No newline at end of file
diff --git a/db/schema_migrations/20220413054910 b/db/schema_migrations/20220413054910
new file mode 100644
index 00000000000..6f6c0321d53
--- /dev/null
+++ b/db/schema_migrations/20220413054910
@@ -0,0 +1 @@
+5d386a9eb1602afcaf44442c5696e03721a265cf104564258f4adee60b70b0f2 \ No newline at end of file
diff --git a/db/schema_migrations/20220413124200 b/db/schema_migrations/20220413124200
new file mode 100644
index 00000000000..cbf9676b231
--- /dev/null
+++ b/db/schema_migrations/20220413124200
@@ -0,0 +1 @@
+f5d7722ee4b0288294b08b470e7f9c072cf50f888a33fa7ed234eaafa5684843 \ No newline at end of file
diff --git a/db/schema_migrations/20220413164146 b/db/schema_migrations/20220413164146
new file mode 100644
index 00000000000..a78ab62884e
--- /dev/null
+++ b/db/schema_migrations/20220413164146
@@ -0,0 +1 @@
+bae5ea4ce48e44704ed37a400222fd9d09ac6da43ca878747ba3fd1105d16360 \ No newline at end of file
diff --git a/db/schema_migrations/20220413235818 b/db/schema_migrations/20220413235818
new file mode 100644
index 00000000000..449b2d61115
--- /dev/null
+++ b/db/schema_migrations/20220413235818
@@ -0,0 +1 @@
+41913029290e231d17f108fadf62e629b8919f5edf8854a4a7ae92e233329af3 \ No newline at end of file
diff --git a/db/schema_migrations/20220414203622 b/db/schema_migrations/20220414203622
new file mode 100644
index 00000000000..80a4196677d
--- /dev/null
+++ b/db/schema_migrations/20220414203622
@@ -0,0 +1 @@
+d966d06f88e31be3e310bb1e414484c95fa458680d4cc7f04f20f2a297feb8fd \ No newline at end of file
diff --git a/db/schema_migrations/20220415015143 b/db/schema_migrations/20220415015143
new file mode 100644
index 00000000000..5014ff7b005
--- /dev/null
+++ b/db/schema_migrations/20220415015143
@@ -0,0 +1 @@
+6dc4a3e617d9a6a42a0c226c95c377112ae852aabb93d12825be66ee36803b2c \ No newline at end of file
diff --git a/db/schema_migrations/20220415124802 b/db/schema_migrations/20220415124802
new file mode 100644
index 00000000000..3f5c99b675b
--- /dev/null
+++ b/db/schema_migrations/20220415124802
@@ -0,0 +1 @@
+aaf55d3f4a82789695ce1107d045a6230e111d5058733f72ccf4a1e5563a2636 \ No newline at end of file
diff --git a/db/schema_migrations/20220415124804 b/db/schema_migrations/20220415124804
new file mode 100644
index 00000000000..1c325f0fdbc
--- /dev/null
+++ b/db/schema_migrations/20220415124804
@@ -0,0 +1 @@
+728ce5b9d0986fa55a43841b2a5961f9716b3e2933d1e77e3ac00e30244c6f8e \ No newline at end of file
diff --git a/db/schema_migrations/20220419223906 b/db/schema_migrations/20220419223906
new file mode 100644
index 00000000000..8d07b0a30b6
--- /dev/null
+++ b/db/schema_migrations/20220419223906
@@ -0,0 +1 @@
+ea53a3b454314f6f87f33659f30e408fb4be4b17b9aac36cee2c19855f458802 \ No newline at end of file
diff --git a/db/schema_migrations/20220420034519 b/db/schema_migrations/20220420034519
new file mode 100644
index 00000000000..0b46a4df4a9
--- /dev/null
+++ b/db/schema_migrations/20220420034519
@@ -0,0 +1 @@
+8ce9e197aa590d01755541a9f1c53d6835a9d4ae389e011c5050778d19e80f00 \ No newline at end of file
diff --git a/db/schema_migrations/20220420061439 b/db/schema_migrations/20220420061439
new file mode 100644
index 00000000000..cde4753761c
--- /dev/null
+++ b/db/schema_migrations/20220420061439
@@ -0,0 +1 @@
+02ff5492367d5a0b0f6b1164c33a9fe0475e72b8fba5d2f8affc4c5a118d4192 \ No newline at end of file
diff --git a/db/schema_migrations/20220420061450 b/db/schema_migrations/20220420061450
new file mode 100644
index 00000000000..04ee97a7e4d
--- /dev/null
+++ b/db/schema_migrations/20220420061450
@@ -0,0 +1 @@
+17046780fbe87b7eab87034dfffed239b9da48b5ef78dd1c547575158fc1d37f \ No newline at end of file
diff --git a/db/schema_migrations/20220420135245 b/db/schema_migrations/20220420135245
new file mode 100644
index 00000000000..65ac71d8af3
--- /dev/null
+++ b/db/schema_migrations/20220420135245
@@ -0,0 +1 @@
+8b3978648b92209ac691d014e1f54a7aa6a9023163094593d64d2b8e54b7248e \ No newline at end of file
diff --git a/db/schema_migrations/20220420135946 b/db/schema_migrations/20220420135946
new file mode 100644
index 00000000000..55bd78a0373
--- /dev/null
+++ b/db/schema_migrations/20220420135946
@@ -0,0 +1 @@
+de813cf367628504ac0a017fa600725042c4653574c15eda52db21531ce7d39c \ No newline at end of file
diff --git a/db/schema_migrations/20220420173247 b/db/schema_migrations/20220420173247
new file mode 100644
index 00000000000..9ab6dac867e
--- /dev/null
+++ b/db/schema_migrations/20220420173247
@@ -0,0 +1 @@
+a4113363674f268a3beaef22e29b2aba4e5ba7566bc47dc5676ddc8f8733d331 \ No newline at end of file
diff --git a/db/schema_migrations/20220420192542 b/db/schema_migrations/20220420192542
new file mode 100644
index 00000000000..fe62709c7a7
--- /dev/null
+++ b/db/schema_migrations/20220420192542
@@ -0,0 +1 @@
+f9f2dc1f24f02571a7919da72b78e54922fd4fe202bc326235485610264d137c \ No newline at end of file
diff --git a/db/schema_migrations/20220420214703 b/db/schema_migrations/20220420214703
new file mode 100644
index 00000000000..ff519126cc2
--- /dev/null
+++ b/db/schema_migrations/20220420214703
@@ -0,0 +1 @@
+fdf562fd8681b104ef91842e036b1153e7a4786529bcd2e35fcb964ecd25345e \ No newline at end of file
diff --git a/db/schema_migrations/20220421114418 b/db/schema_migrations/20220421114418
new file mode 100644
index 00000000000..48a1862b29b
--- /dev/null
+++ b/db/schema_migrations/20220421114418
@@ -0,0 +1 @@
+33f834b8588ad7a618f39668b2546d0945d283c005e6b822a870d6bf5a8ea03d \ No newline at end of file
diff --git a/db/schema_migrations/20220421141342 b/db/schema_migrations/20220421141342
new file mode 100644
index 00000000000..f28b4c06a1d
--- /dev/null
+++ b/db/schema_migrations/20220421141342
@@ -0,0 +1 @@
+cd332bdb33335750855cd0d6e49bed12a841defa24bc5ffb14ad49a39bd663aa \ No newline at end of file
diff --git a/db/schema_migrations/20220421144758 b/db/schema_migrations/20220421144758
new file mode 100644
index 00000000000..225aaeb5a01
--- /dev/null
+++ b/db/schema_migrations/20220421144758
@@ -0,0 +1 @@
+e774ed2d502ce6ef749a048894fa81a51ec521a3bbf8420709b82a6d72058e61 \ No newline at end of file
diff --git a/db/schema_migrations/20220421180321 b/db/schema_migrations/20220421180321
new file mode 100644
index 00000000000..b2ffb29adf1
--- /dev/null
+++ b/db/schema_migrations/20220421180321
@@ -0,0 +1 @@
+71cde7610713f9e2e21f87a2176cc4ec5fdc797021edab144adfaaf463acb8ef \ No newline at end of file
diff --git a/db/schema_migrations/20220422121443 b/db/schema_migrations/20220422121443
new file mode 100644
index 00000000000..79a69c6af87
--- /dev/null
+++ b/db/schema_migrations/20220422121443
@@ -0,0 +1 @@
+5febc5341ccfd930c8dbc77ca2b2bbadb351444a616e657f8ce8cd477c73280f \ No newline at end of file
diff --git a/db/schema_migrations/20220422200633 b/db/schema_migrations/20220422200633
new file mode 100644
index 00000000000..3cb52317fa0
--- /dev/null
+++ b/db/schema_migrations/20220422200633
@@ -0,0 +1 @@
+666eff0892b795c7f1a84dfcdb6fad6266f952bb91b69c81e803d16ecdc0d11d \ No newline at end of file
diff --git a/db/schema_migrations/20220422220507 b/db/schema_migrations/20220422220507
new file mode 100644
index 00000000000..cd9385a2ec1
--- /dev/null
+++ b/db/schema_migrations/20220422220507
@@ -0,0 +1 @@
+4042ca84ca23fafa3943705704c68606f1c423832395170d93988f90255c3249 \ No newline at end of file
diff --git a/db/schema_migrations/20220425111114 b/db/schema_migrations/20220425111114
new file mode 100644
index 00000000000..ca0b2c6f908
--- /dev/null
+++ b/db/schema_migrations/20220425111114
@@ -0,0 +1 @@
+a9ba21d5f1fcff29b0f14d5bab99dd867ec101667f021914da845e286aabe2a5 \ No newline at end of file
diff --git a/db/schema_migrations/20220425111453 b/db/schema_migrations/20220425111453
new file mode 100644
index 00000000000..45326d41fdd
--- /dev/null
+++ b/db/schema_migrations/20220425111453
@@ -0,0 +1 @@
+30d5d5538f965562f594a78b9430a11ea87ea900216ee9c03df422ea47de8f0c \ No newline at end of file
diff --git a/db/schema_migrations/20220425120604 b/db/schema_migrations/20220425120604
new file mode 100644
index 00000000000..dd68ec935d8
--- /dev/null
+++ b/db/schema_migrations/20220425120604
@@ -0,0 +1 @@
+56ebfb7a97217af23f12db7f93c47104be30da7633a22caf9e74547d5a27d29b \ No newline at end of file
diff --git a/db/schema_migrations/20220425121410 b/db/schema_migrations/20220425121410
new file mode 100644
index 00000000000..8b8b6029483
--- /dev/null
+++ b/db/schema_migrations/20220425121410
@@ -0,0 +1 @@
+73ab85c5ef724f6aba4a964f42e586db0a198affd134ba598189629fb95989a4 \ No newline at end of file
diff --git a/db/schema_migrations/20220425121435 b/db/schema_migrations/20220425121435
new file mode 100644
index 00000000000..d62359b6bef
--- /dev/null
+++ b/db/schema_migrations/20220425121435
@@ -0,0 +1 @@
+fd00d3d8104cba09134853976cf4f1dea7abb5e1dd2c4ea8b46adc4742c71030 \ No newline at end of file
diff --git a/db/schema_migrations/20220426130217 b/db/schema_migrations/20220426130217
new file mode 100644
index 00000000000..d8df97c8516
--- /dev/null
+++ b/db/schema_migrations/20220426130217
@@ -0,0 +1 @@
+5a55099d1f50c3059778e340bbbe519d4fcd6c1eefb235191f8db02f92b7b49e \ No newline at end of file
diff --git a/db/schema_migrations/20220426185933 b/db/schema_migrations/20220426185933
new file mode 100644
index 00000000000..46a67db3499
--- /dev/null
+++ b/db/schema_migrations/20220426185933
@@ -0,0 +1 @@
+56001affed339a7184ee20c7e34707aa33ba405db4f83d8926228b1bf72d5af8 \ No newline at end of file
diff --git a/db/schema_migrations/20220428133724 b/db/schema_migrations/20220428133724
new file mode 100644
index 00000000000..9b9f36980f1
--- /dev/null
+++ b/db/schema_migrations/20220428133724
@@ -0,0 +1 @@
+9daf43ece9531540c942ade3939bf86f332701af8a9a0e50bd8ef3b90322baa2 \ No newline at end of file
diff --git a/db/schema_migrations/20220502015011 b/db/schema_migrations/20220502015011
new file mode 100644
index 00000000000..dff75369b56
--- /dev/null
+++ b/db/schema_migrations/20220502015011
@@ -0,0 +1 @@
+fbc4aa4bc958a5b3d9b184d459e1e540a5f83f01c5a8206d9546ccb28817c143 \ No newline at end of file
diff --git a/db/schema_migrations/20220502125053 b/db/schema_migrations/20220502125053
new file mode 100644
index 00000000000..9b026e23576
--- /dev/null
+++ b/db/schema_migrations/20220502125053
@@ -0,0 +1 @@
+b87e7b69f4d88a5620180648568c499e6e86fe001a8cfd235eebf050d5cdc9a1 \ No newline at end of file
diff --git a/db/schema_migrations/20220502150408 b/db/schema_migrations/20220502150408
new file mode 100644
index 00000000000..2bab54bbe7d
--- /dev/null
+++ b/db/schema_migrations/20220502150408
@@ -0,0 +1 @@
+a730ff7969895be95e92fff5bb9b468ed407bd65bccb9daf40f892e18b4d18b6 \ No newline at end of file
diff --git a/db/schema_migrations/20220502152633 b/db/schema_migrations/20220502152633
new file mode 100644
index 00000000000..b5dd2256ac8
--- /dev/null
+++ b/db/schema_migrations/20220502152633
@@ -0,0 +1 @@
+f8f34dc48e55723d868d1a247a92731ed1f1d5d185791c3202d0ed2cdedb41d3 \ No newline at end of file
diff --git a/db/schema_migrations/20220502173045 b/db/schema_migrations/20220502173045
new file mode 100644
index 00000000000..d17f403df8d
--- /dev/null
+++ b/db/schema_migrations/20220502173045
@@ -0,0 +1 @@
+893f211ebd0dceae4e375e644ed6213a066fe8b5985f226f5f256651fdd4b483 \ No newline at end of file
diff --git a/db/schema_migrations/20220503073401 b/db/schema_migrations/20220503073401
new file mode 100644
index 00000000000..bccca17138b
--- /dev/null
+++ b/db/schema_migrations/20220503073401
@@ -0,0 +1 @@
+3e05b07c5a3a0912884e0bdda08e0f4ef93ce95b6e3f5deb30b10eca74c6ea79 \ No newline at end of file
diff --git a/db/schema_migrations/20220503102855 b/db/schema_migrations/20220503102855
new file mode 100644
index 00000000000..e63b6ebe429
--- /dev/null
+++ b/db/schema_migrations/20220503102855
@@ -0,0 +1 @@
+e573f8f4ebca77bae3f3ecc68d4e5a9fe015f4a1040e72615b74cc158a7f7e5f \ No newline at end of file
diff --git a/db/schema_migrations/20220503114353 b/db/schema_migrations/20220503114353
new file mode 100644
index 00000000000..26c027548eb
--- /dev/null
+++ b/db/schema_migrations/20220503114353
@@ -0,0 +1 @@
+2750d11c933db0404f9a32ea5c8a7f028e07f720f83b288e9476c33326ec63c5 \ No newline at end of file
diff --git a/db/schema_migrations/20220503134610 b/db/schema_migrations/20220503134610
new file mode 100644
index 00000000000..555f0dbcc0d
--- /dev/null
+++ b/db/schema_migrations/20220503134610
@@ -0,0 +1 @@
+0e38608a14abd18ab257531f11e31e0a5d7d3801d9725ae02731b6b5ce881db7 \ No newline at end of file
diff --git a/db/schema_migrations/20220504042847 b/db/schema_migrations/20220504042847
new file mode 100644
index 00000000000..e27d4835f51
--- /dev/null
+++ b/db/schema_migrations/20220504042847
@@ -0,0 +1 @@
+cf3c125a0a8e8410abac5aaa68289d9548f77c29c2e46f1e93299fba5ba77a2b \ No newline at end of file
diff --git a/db/schema_migrations/20220504083348 b/db/schema_migrations/20220504083348
new file mode 100644
index 00000000000..ef9c042e036
--- /dev/null
+++ b/db/schema_migrations/20220504083348
@@ -0,0 +1 @@
+bb01480d2108f02bb6adcc671afc40de88655644e78397f1395fbb5af32cd24a \ No newline at end of file
diff --git a/db/schema_migrations/20220504083836 b/db/schema_migrations/20220504083836
new file mode 100644
index 00000000000..cfde07ab90d
--- /dev/null
+++ b/db/schema_migrations/20220504083836
@@ -0,0 +1 @@
+686d7d3266e7df938827f34a65fe73c0b92d0a76df34789751e609627a0768f6 \ No newline at end of file
diff --git a/db/schema_migrations/20220504084136 b/db/schema_migrations/20220504084136
new file mode 100644
index 00000000000..49ed93714c2
--- /dev/null
+++ b/db/schema_migrations/20220504084136
@@ -0,0 +1 @@
+6d4b1755e342c6608b95d7abca028353d2f0e84efb63e06b9cc230c23f737565 \ No newline at end of file
diff --git a/db/schema_migrations/20220504140036 b/db/schema_migrations/20220504140036
new file mode 100644
index 00000000000..34f7f6b4ea9
--- /dev/null
+++ b/db/schema_migrations/20220504140036
@@ -0,0 +1 @@
+726f09e0f6dd7f53a5e1928c9cb86e1499a9af7d84fe6d4cab847ab54db12711 \ No newline at end of file
diff --git a/db/schema_migrations/20220505022001 b/db/schema_migrations/20220505022001
new file mode 100644
index 00000000000..cfa4871ffbd
--- /dev/null
+++ b/db/schema_migrations/20220505022001
@@ -0,0 +1 @@
+4d93c3c0234171212aca73b7f3ed471a918fd30091e76e3427696c41c2842fce \ No newline at end of file
diff --git a/db/schema_migrations/20220505044348 b/db/schema_migrations/20220505044348
new file mode 100644
index 00000000000..0c537719a8f
--- /dev/null
+++ b/db/schema_migrations/20220505044348
@@ -0,0 +1 @@
+50c34d341ad1d989b865e2d9f6ac11d19e18c756436b8385518d1210bc2e6fe1 \ No newline at end of file
diff --git a/db/schema_migrations/20220505053504 b/db/schema_migrations/20220505053504
new file mode 100644
index 00000000000..5a1594ccac7
--- /dev/null
+++ b/db/schema_migrations/20220505053504
@@ -0,0 +1 @@
+e1b5a06c0a72e361d308f599d446125aaf5882a986423cc0b29c5faa9bc3954b \ No newline at end of file
diff --git a/db/schema_migrations/20220505060011 b/db/schema_migrations/20220505060011
new file mode 100644
index 00000000000..dd31c727827
--- /dev/null
+++ b/db/schema_migrations/20220505060011
@@ -0,0 +1 @@
+aa0e6f29d918bff13cbf499e465f63320dbb6ed5a6940c2c438fe015dcc7fcd6 \ No newline at end of file
diff --git a/db/schema_migrations/20220505092254 b/db/schema_migrations/20220505092254
new file mode 100644
index 00000000000..b720f68248e
--- /dev/null
+++ b/db/schema_migrations/20220505092254
@@ -0,0 +1 @@
+d37359ba5f697c4aaec738073c7705a64b54b97d2548f72571f3cb33848cfc3b \ No newline at end of file
diff --git a/db/schema_migrations/20220505174658 b/db/schema_migrations/20220505174658
new file mode 100644
index 00000000000..67dfd7ca827
--- /dev/null
+++ b/db/schema_migrations/20220505174658
@@ -0,0 +1 @@
+57dd9ed105c0380b660e8cc450848b8662bf6a41e47cbfac1bcc061934cbc24c \ No newline at end of file
diff --git a/db/schema_migrations/20220505193512 b/db/schema_migrations/20220505193512
new file mode 100644
index 00000000000..635cf9dd443
--- /dev/null
+++ b/db/schema_migrations/20220505193512
@@ -0,0 +1 @@
+bad94788a101a4567442e4e5a008896323ef00f7c0a98e4439e3b58e2095f30e \ No newline at end of file
diff --git a/db/schema_migrations/20220506180411 b/db/schema_migrations/20220506180411
new file mode 100644
index 00000000000..44b12faf69e
--- /dev/null
+++ b/db/schema_migrations/20220506180411
@@ -0,0 +1 @@
+c8d61ae69828d0f234473092ea4a481e05aeffb61f777c5085836558f2fbe062 \ No newline at end of file
diff --git a/db/schema_migrations/20220506201639 b/db/schema_migrations/20220506201639
new file mode 100644
index 00000000000..5aba0b7c055
--- /dev/null
+++ b/db/schema_migrations/20220506201639
@@ -0,0 +1 @@
+ddc86a14dbd512ee87654fa12fc2ef55f0f705341f628c2b26d0a80b6b2708a0 \ No newline at end of file
diff --git a/db/schema_migrations/20220507204024 b/db/schema_migrations/20220507204024
new file mode 100644
index 00000000000..510badf30ea
--- /dev/null
+++ b/db/schema_migrations/20220507204024
@@ -0,0 +1 @@
+8014dcf24ac2f1171240daa349e0552cb313b06f756b84e09a16d76a8810132a \ No newline at end of file
diff --git a/db/schema_migrations/20220510003916 b/db/schema_migrations/20220510003916
new file mode 100644
index 00000000000..35584f5f55f
--- /dev/null
+++ b/db/schema_migrations/20220510003916
@@ -0,0 +1 @@
+ccafdc28ff28fc758fe67084f3a837c72f91470467bda2acdb6282de89b46e34 \ No newline at end of file
diff --git a/db/schema_migrations/20220510004501 b/db/schema_migrations/20220510004501
new file mode 100644
index 00000000000..6342258af5d
--- /dev/null
+++ b/db/schema_migrations/20220510004501
@@ -0,0 +1 @@
+ef9c231a917e4beacff9689c4bbfea0885c4223d3d8b59823a5ffac7f3b2364f \ No newline at end of file
diff --git a/db/schema_migrations/20220511090324 b/db/schema_migrations/20220511090324
new file mode 100644
index 00000000000..186512ca91a
--- /dev/null
+++ b/db/schema_migrations/20220511090324
@@ -0,0 +1 @@
+4904ea4034a58dadb9b84deaade823f1e50085b5a4bce69da7fa44c38e588858 \ No newline at end of file
diff --git a/db/schema_migrations/20220511151646 b/db/schema_migrations/20220511151646
new file mode 100644
index 00000000000..d6ff140cdf8
--- /dev/null
+++ b/db/schema_migrations/20220511151646
@@ -0,0 +1 @@
+cf49c37edf23372a0117895bd2036cefd42616871f42511c6ecbe03a47b96e9f \ No newline at end of file
diff --git a/db/schema_migrations/20220511152439 b/db/schema_migrations/20220511152439
new file mode 100644
index 00000000000..f58f97f4962
--- /dev/null
+++ b/db/schema_migrations/20220511152439
@@ -0,0 +1 @@
+ef899952453ddd870c45f2b4eded754152972944037309cf96701fe27a5db6cb \ No newline at end of file
diff --git a/db/schema_migrations/20220511191502 b/db/schema_migrations/20220511191502
new file mode 100644
index 00000000000..caebd721aa6
--- /dev/null
+++ b/db/schema_migrations/20220511191502
@@ -0,0 +1 @@
+432214f4683800e1f5b5e42d05d9a6de07c317fec0dffd6b1eb312ccfd437e0c \ No newline at end of file
diff --git a/db/schema_migrations/20220511191503 b/db/schema_migrations/20220511191503
new file mode 100644
index 00000000000..c8860c56eb6
--- /dev/null
+++ b/db/schema_migrations/20220511191503
@@ -0,0 +1 @@
+dd2733b77f86e108c5015edcdbc715dd011b00479828a7087af9120cc5ae5661 \ No newline at end of file
diff --git a/db/schema_migrations/20220513043344 b/db/schema_migrations/20220513043344
new file mode 100644
index 00000000000..af72eebc3b9
--- /dev/null
+++ b/db/schema_migrations/20220513043344
@@ -0,0 +1 @@
+33928e6cb39e42efae6c8bc12291317a08197c0fe5a1f912aac8972eabc96de7 \ No newline at end of file
diff --git a/db/schema_migrations/20220517144749 b/db/schema_migrations/20220517144749
new file mode 100644
index 00000000000..99f5bf6730a
--- /dev/null
+++ b/db/schema_migrations/20220517144749
@@ -0,0 +1 @@
+437e4ddcf1e6071a37ab1d407108c98fedd4f93ed1d975d2306440318f67c996 \ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index c226da842c3..fa9d9e8f778 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -89,14 +89,6 @@ RETURN NULL;
END
$$;
-CREATE FUNCTION integrations_set_type_new() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
-UPDATE integrations SET type_new = COALESCE(NEW.type_new, regexp_replace(NEW.type, '\A(.+)Service\Z', 'Integrations::\1')) , type = COALESCE(NEW.type, regexp_replace(NEW.type_new, '\AIntegrations::(.+)\Z', '\1Service')) WHERE integrations.id = NEW.id; RETURN NULL;
-END
-$$;
-
CREATE FUNCTION next_traversal_ids_sibling(traversal_ids integer[]) RETURNS integer[]
LANGUAGE plpgsql IMMUTABLE STRICT
AS $$
@@ -106,6 +98,30 @@ BEGIN
END;
$$;
+CREATE FUNCTION nullify_merge_request_metrics_build_data() RETURNS trigger
+ LANGUAGE plpgsql
+ AS $$
+BEGIN
+IF (OLD.pipeline_id IS NOT NULL) AND (NEW.pipeline_id IS NULL) THEN
+ NEW.latest_build_started_at = NULL;
+ NEW.latest_build_finished_at = NULL;
+END IF;
+RETURN NEW;
+
+END
+$$;
+
+CREATE FUNCTION postgres_pg_stat_activity_autovacuum() RETURNS TABLE(query text, query_start timestamp with time zone)
+ LANGUAGE sql SECURITY DEFINER
+ SET search_path TO 'pg_catalog', 'pg_temp'
+ AS $$
+ SELECT query, query_start
+ FROM pg_stat_activity
+ WHERE datname = current_database()
+ AND state = 'active'
+ AND backend_type = 'autovacuum worker'
+$$;
+
CREATE FUNCTION set_has_external_issue_tracker() RETURNS trigger
LANGUAGE plpgsql
AS $$
@@ -10645,6 +10661,14 @@ CREATE TABLE analytics_cycle_analytics_aggregations (
last_full_issues_updated_at timestamp with time zone,
last_full_issues_id integer,
last_full_merge_requests_id integer,
+ last_consistency_check_issues_stage_event_hash_id bigint,
+ last_consistency_check_issues_start_event_timestamp timestamp with time zone,
+ last_consistency_check_issues_end_event_timestamp timestamp with time zone,
+ last_consistency_check_issues_issuable_id bigint,
+ last_consistency_check_merge_requests_stage_event_hash_id bigint,
+ last_consistency_check_merge_requests_start_event_timestamp timestamp with time zone,
+ last_consistency_check_merge_requests_end_event_timestamp timestamp with time zone,
+ last_consistency_check_merge_requests_issuable_id bigint,
CONSTRAINT chk_rails_1ef688e577 CHECK ((cardinality(incremental_runtimes_in_seconds) <= 10)),
CONSTRAINT chk_rails_7810292ec9 CHECK ((cardinality(last_full_run_processed_records) <= 10)),
CONSTRAINT chk_rails_8b9e89687c CHECK ((cardinality(last_full_run_runtimes_in_seconds) <= 10)),
@@ -10784,7 +10808,6 @@ CREATE TABLE analytics_devops_adoption_snapshots (
runner_configured boolean NOT NULL,
pipeline_succeeded boolean NOT NULL,
deploy_succeeded boolean NOT NULL,
- security_scan_succeeded boolean,
end_time timestamp with time zone NOT NULL,
total_projects_count integer,
code_owners_used_count integer,
@@ -11274,6 +11297,14 @@ CREATE TABLE application_settings (
inactive_projects_delete_after_months integer DEFAULT 2 NOT NULL,
inactive_projects_min_size_mb integer DEFAULT 0 NOT NULL,
inactive_projects_send_warning_email_after_months integer DEFAULT 1 NOT NULL,
+ delayed_group_deletion boolean DEFAULT true NOT NULL,
+ arkose_labs_namespace text DEFAULT 'client'::text NOT NULL,
+ max_export_size integer DEFAULT 0,
+ encrypted_slack_app_signing_secret bytea,
+ encrypted_slack_app_signing_secret_iv bytea,
+ container_registry_pre_import_timeout integer DEFAULT 1800 NOT NULL,
+ container_registry_import_timeout integer DEFAULT 600 NOT NULL,
+ pipeline_limit_per_project_user_sha integer DEFAULT 0 NOT NULL,
CONSTRAINT app_settings_container_reg_cleanup_tags_max_list_size_positive CHECK ((container_registry_cleanup_tags_service_max_list_size >= 0)),
CONSTRAINT app_settings_dep_proxy_ttl_policies_worker_capacity_positive CHECK ((dependency_proxy_ttl_group_policy_worker_capacity >= 0)),
CONSTRAINT app_settings_ext_pipeline_validation_service_url_text_limit CHECK ((char_length(external_pipeline_validation_service_url) <= 255)),
@@ -11295,6 +11326,7 @@ CREATE TABLE application_settings (
CONSTRAINT check_5bcba483c4 CHECK ((char_length(sentry_environment) <= 255)),
CONSTRAINT check_718b4458ae CHECK ((char_length(personal_access_token_prefix) <= 20)),
CONSTRAINT check_7227fad848 CHECK ((char_length(rate_limiting_response_text) <= 255)),
+ CONSTRAINT check_7ccfe2764a CHECK ((char_length(arkose_labs_namespace) <= 255)),
CONSTRAINT check_85a39b68ff CHECK ((char_length(encrypted_ci_jwt_signing_key_iv) <= 255)),
CONSTRAINT check_8dca35398a CHECK ((char_length(public_runner_releases_url) <= 255)),
CONSTRAINT check_9a719834eb CHECK ((char_length(secret_detection_token_revocation_url) <= 255)),
@@ -11729,7 +11761,7 @@ CREATE TABLE batched_background_migrations (
batch_class_name text DEFAULT 'PrimaryKeyBatchingStrategy'::text NOT NULL,
table_name text NOT NULL,
column_name text NOT NULL,
- job_arguments jsonb DEFAULT '"[]"'::jsonb NOT NULL,
+ job_arguments jsonb DEFAULT '[]'::jsonb NOT NULL,
total_tuple_count bigint,
pause_ms integer DEFAULT 100 NOT NULL,
max_batch_size integer,
@@ -12368,7 +12400,6 @@ CREATE TABLE ci_builds_metadata (
secrets jsonb DEFAULT '{}'::jsonb NOT NULL,
build_id bigint NOT NULL,
id bigint NOT NULL,
- runner_features jsonb DEFAULT '{}'::jsonb NOT NULL,
runtime_runner_features jsonb DEFAULT '{}'::jsonb NOT NULL
);
@@ -13017,6 +13048,7 @@ CREATE TABLE ci_runners (
executor_type smallint,
maintainer_note text,
token_expires_at timestamp with time zone,
+ allowed_plans text[] DEFAULT '{}'::text[] NOT NULL,
CONSTRAINT check_ce275cee06 CHECK ((char_length(maintainer_note) <= 1024))
);
@@ -13757,6 +13789,7 @@ CREATE TABLE container_repositories (
migration_state text DEFAULT 'default'::text NOT NULL,
migration_aborted_in_state text,
migration_plan text,
+ last_cleanup_deleted_tags_count integer,
CONSTRAINT check_05e9012f36 CHECK ((char_length(migration_plan) <= 255)),
CONSTRAINT check_13c58fe73a CHECK ((char_length(migration_state) <= 255)),
CONSTRAINT check_97f0249439 CHECK ((char_length(migration_aborted_in_state) <= 255))
@@ -15148,7 +15181,6 @@ CREATE TABLE geo_event_log (
hashed_storage_migrated_event_id bigint,
lfs_object_deleted_event_id bigint,
hashed_storage_attachments_event_id bigint,
- job_artifact_deleted_event_id bigint,
reset_checksum_event_id bigint,
cache_invalidation_event_id bigint,
container_repository_updated_event_id bigint,
@@ -15220,21 +15252,6 @@ CREATE SEQUENCE geo_hashed_storage_migrated_events_id_seq
ALTER SEQUENCE geo_hashed_storage_migrated_events_id_seq OWNED BY geo_hashed_storage_migrated_events.id;
-CREATE TABLE geo_job_artifact_deleted_events (
- id bigint NOT NULL,
- file_path character varying NOT NULL,
- job_artifact_id bigint NOT NULL
-);
-
-CREATE SEQUENCE geo_job_artifact_deleted_events_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-ALTER SEQUENCE geo_job_artifact_deleted_events_id_seq OWNED BY geo_job_artifact_deleted_events.id;
-
CREATE TABLE geo_lfs_object_deleted_events (
id bigint NOT NULL,
lfs_object_id integer NOT NULL,
@@ -15515,6 +15532,7 @@ CREATE TABLE gitlab_subscriptions (
seats_in_use integer DEFAULT 0 NOT NULL,
seats_owed integer DEFAULT 0 NOT NULL,
trial_extension_type smallint,
+ max_seats_used_changed_at timestamp with time zone,
CONSTRAINT check_77fea3f0e7 CHECK ((namespace_id IS NOT NULL))
);
@@ -15654,7 +15672,7 @@ CREATE TABLE group_deploy_keys (
expires_at timestamp with time zone,
key text NOT NULL,
title text,
- fingerprint text NOT NULL,
+ fingerprint text,
fingerprint_sha256 bytea,
CONSTRAINT check_cc0365908d CHECK ((char_length(title) <= 255)),
CONSTRAINT check_e4526dcf91 CHECK ((char_length(fingerprint) <= 255)),
@@ -15877,10 +15895,13 @@ CREATE TABLE in_product_marketing_emails (
id bigint NOT NULL,
user_id bigint NOT NULL,
cta_clicked_at timestamp with time zone,
- track smallint NOT NULL,
- series smallint NOT NULL,
+ track smallint,
+ series smallint,
created_at timestamp with time zone NOT NULL,
- updated_at timestamp with time zone NOT NULL
+ updated_at timestamp with time zone NOT NULL,
+ campaign text,
+ CONSTRAINT check_9d8b29f74f CHECK ((char_length(campaign) <= 255)),
+ CONSTRAINT in_product_marketing_emails_track_and_series_or_campaign CHECK ((((track IS NOT NULL) AND (series IS NOT NULL) AND (campaign IS NULL)) OR ((track IS NULL) AND (series IS NULL) AND (campaign IS NOT NULL))))
);
CREATE SEQUENCE in_product_marketing_emails_id_seq
@@ -16117,7 +16138,6 @@ ALTER SEQUENCE insights_id_seq OWNED BY insights.id;
CREATE TABLE integrations (
id integer NOT NULL,
- type character varying,
project_id integer,
created_at timestamp without time zone,
updated_at timestamp without time zone,
@@ -17337,6 +17357,11 @@ CREATE TABLE namespace_aggregation_schedules (
namespace_id integer NOT NULL
);
+CREATE TABLE namespace_ci_cd_settings (
+ namespace_id bigint NOT NULL,
+ allow_stale_runner_pruning boolean DEFAULT false NOT NULL
+);
+
CREATE TABLE namespace_limits (
additional_purchased_storage_size bigint DEFAULT 0 NOT NULL,
additional_purchased_storage_ends_on date,
@@ -17367,7 +17392,8 @@ CREATE TABLE namespace_root_storage_statistics (
pipeline_artifacts_size bigint DEFAULT 0 NOT NULL,
uploads_size bigint DEFAULT 0 NOT NULL,
dependency_proxy_size bigint DEFAULT 0 NOT NULL,
- notification_level smallint DEFAULT 100 NOT NULL
+ notification_level smallint DEFAULT 100 NOT NULL,
+ container_registry_size bigint DEFAULT 0 NOT NULL
);
CREATE TABLE namespace_settings (
@@ -17388,6 +17414,7 @@ CREATE TABLE namespace_settings (
runner_token_expiration_interval integer,
subgroup_runner_token_expiration_interval integer,
project_runner_token_expiration_interval integer,
+ exclude_from_free_user_cap boolean DEFAULT false NOT NULL,
CONSTRAINT check_0ba93c78c7 CHECK ((char_length(default_branch_name) <= 255))
);
@@ -17861,6 +17888,15 @@ CREATE SEQUENCE packages_build_infos_id_seq
ALTER SEQUENCE packages_build_infos_id_seq OWNED BY packages_build_infos.id;
+CREATE TABLE packages_cleanup_policies (
+ created_at timestamp with time zone NOT NULL,
+ updated_at timestamp with time zone NOT NULL,
+ project_id bigint NOT NULL,
+ next_run_at timestamp with time zone,
+ keep_n_duplicated_package_files text DEFAULT 'all'::text NOT NULL,
+ CONSTRAINT check_e53f35ab7b CHECK ((char_length(keep_n_duplicated_package_files) <= 255))
+);
+
CREATE TABLE packages_composer_cache_files (
id bigint NOT NULL,
created_at timestamp with time zone NOT NULL,
@@ -18728,6 +18764,22 @@ CREATE SEQUENCE postgres_async_indexes_id_seq
ALTER SEQUENCE postgres_async_indexes_id_seq OWNED BY postgres_async_indexes.id;
+CREATE VIEW postgres_autovacuum_activity AS
+ WITH processes AS (
+ SELECT postgres_pg_stat_activity_autovacuum.query,
+ postgres_pg_stat_activity_autovacuum.query_start,
+ regexp_matches(postgres_pg_stat_activity_autovacuum.query, '^autovacuum: VACUUM (w+).(w+)'::text) AS matches
+ FROM postgres_pg_stat_activity_autovacuum() postgres_pg_stat_activity_autovacuum(query, query_start)
+ WHERE (postgres_pg_stat_activity_autovacuum.query ~* '^autovacuum: VACUUM w+.w+'::text)
+ )
+ SELECT ((processes.matches[1] || '.'::text) || processes.matches[2]) AS table_identifier,
+ processes.matches[1] AS schema,
+ processes.matches[2] AS "table",
+ processes.query_start AS vacuum_start
+ FROM processes;
+
+COMMENT ON VIEW postgres_autovacuum_activity IS 'Contains information about PostgreSQL backends currently performing autovacuum operations on the tables indicated here.';
+
CREATE VIEW postgres_foreign_keys AS
SELECT pg_constraint.oid,
pg_constraint.conname AS name,
@@ -19054,7 +19106,8 @@ CREATE TABLE project_ci_cd_settings (
keep_latest_artifact boolean DEFAULT true NOT NULL,
restrict_user_defined_variables boolean DEFAULT false NOT NULL,
job_token_scope_enabled boolean DEFAULT false NOT NULL,
- runner_token_expiration_interval integer
+ runner_token_expiration_interval integer,
+ separated_caches boolean DEFAULT true NOT NULL
);
CREATE SEQUENCE project_ci_cd_settings_id_seq
@@ -19338,7 +19391,9 @@ CREATE TABLE project_repository_states (
repository_retry_count integer,
wiki_retry_count integer,
last_repository_verification_ran_at timestamp with time zone,
- last_wiki_verification_ran_at timestamp with time zone
+ last_wiki_verification_ran_at timestamp with time zone,
+ last_repository_updated_at timestamp with time zone,
+ last_wiki_updated_at timestamp with time zone
);
CREATE SEQUENCE project_repository_states_id_seq
@@ -19410,6 +19465,7 @@ CREATE TABLE project_settings (
squash_commit_template text,
legacy_open_source_license_available boolean DEFAULT true NOT NULL,
target_platforms character varying[] DEFAULT '{}'::character varying[] NOT NULL,
+ enforce_auth_checks_on_uploads boolean DEFAULT true NOT NULL,
CONSTRAINT check_3a03e7557a CHECK ((char_length(previous_default_branch) <= 4096)),
CONSTRAINT check_b09644994b CHECK ((char_length(squash_commit_template) <= 500)),
CONSTRAINT check_bde223416c CHECK ((show_default_award_emojis IS NOT NULL)),
@@ -19738,6 +19794,7 @@ CREATE TABLE protected_environment_approval_rules (
updated_at timestamp with time zone NOT NULL,
access_level smallint,
required_approvals smallint NOT NULL,
+ group_inheritance_type smallint DEFAULT 0 NOT NULL,
CONSTRAINT chk_rails_bed75249bc CHECK ((((access_level IS NOT NULL) AND (group_id IS NULL) AND (user_id IS NULL)) OR ((user_id IS NOT NULL) AND (access_level IS NULL) AND (group_id IS NULL)) OR ((group_id IS NOT NULL) AND (user_id IS NULL) AND (access_level IS NULL)))),
CONSTRAINT chk_rails_cfa90ae3b5 CHECK ((required_approvals > 0))
);
@@ -19758,7 +19815,8 @@ CREATE TABLE protected_environment_deploy_access_levels (
access_level integer DEFAULT 40,
protected_environment_id integer NOT NULL,
user_id integer,
- group_id integer
+ group_id integer,
+ group_inheritance_type smallint DEFAULT 0 NOT NULL
);
CREATE SEQUENCE protected_environment_deploy_access_levels_id_seq
@@ -20050,7 +20108,6 @@ ALTER SEQUENCE requirements_id_seq OWNED BY requirements.id;
CREATE TABLE requirements_management_test_reports (
id bigint NOT NULL,
created_at timestamp with time zone NOT NULL,
- requirement_id bigint,
author_id bigint,
state smallint NOT NULL,
build_id bigint,
@@ -20542,7 +20599,11 @@ CREATE TABLE slack_integrations (
alias character varying NOT NULL,
user_id character varying NOT NULL,
created_at timestamp without time zone NOT NULL,
- updated_at timestamp without time zone NOT NULL
+ updated_at timestamp without time zone NOT NULL,
+ bot_user_id text,
+ encrypted_bot_access_token bytea,
+ encrypted_bot_access_token_iv bytea,
+ CONSTRAINT check_bc553aea8a CHECK ((char_length(bot_user_id) <= 255))
);
CREATE SEQUENCE slack_integrations_id_seq
@@ -21048,6 +21109,8 @@ CREATE TABLE topics (
description text,
total_projects_count bigint DEFAULT 0 NOT NULL,
non_private_projects_count bigint DEFAULT 0 NOT NULL,
+ title text,
+ CONSTRAINT check_223b50f9be CHECK ((char_length(title) <= 255)),
CONSTRAINT check_26753fb43a CHECK ((char_length(avatar) <= 255)),
CONSTRAINT check_5d1a07c8c8 CHECK ((char_length(description) <= 1024)),
CONSTRAINT check_7a90d4c757 CHECK ((char_length(name) <= 255))
@@ -22663,8 +22726,6 @@ ALTER TABLE ONLY geo_hashed_storage_attachments_events ALTER COLUMN id SET DEFAU
ALTER TABLE ONLY geo_hashed_storage_migrated_events ALTER COLUMN id SET DEFAULT nextval('geo_hashed_storage_migrated_events_id_seq'::regclass);
-ALTER TABLE ONLY geo_job_artifact_deleted_events ALTER COLUMN id SET DEFAULT nextval('geo_job_artifact_deleted_events_id_seq'::regclass);
-
ALTER TABLE ONLY geo_lfs_object_deleted_events ALTER COLUMN id SET DEFAULT nextval('geo_lfs_object_deleted_events_id_seq'::regclass);
ALTER TABLE ONLY geo_node_namespace_links ALTER COLUMN id SET DEFAULT nextval('geo_node_namespace_links_id_seq'::regclass);
@@ -24504,9 +24565,6 @@ ALTER TABLE ONLY geo_hashed_storage_attachments_events
ALTER TABLE ONLY geo_hashed_storage_migrated_events
ADD CONSTRAINT geo_hashed_storage_migrated_events_pkey PRIMARY KEY (id);
-ALTER TABLE ONLY geo_job_artifact_deleted_events
- ADD CONSTRAINT geo_job_artifact_deleted_events_pkey PRIMARY KEY (id);
-
ALTER TABLE ONLY geo_lfs_object_deleted_events
ADD CONSTRAINT geo_lfs_object_deleted_events_pkey PRIMARY KEY (id);
@@ -24697,7 +24755,7 @@ ALTER TABLE ONLY issues_self_managed_prometheus_alert_events
ADD CONSTRAINT issues_self_managed_prometheus_alert_events_pkey PRIMARY KEY (issue_id, self_managed_prometheus_alert_event_id);
ALTER TABLE ONLY sprints
- ADD CONSTRAINT iteration_start_and_due_date_iterations_cadence_id_constraint EXCLUDE USING gist (iterations_cadence_id WITH =, daterange(start_date, due_date, '[]'::text) WITH &&) WHERE ((group_id IS NOT NULL));
+ ADD CONSTRAINT iteration_start_and_due_date_iterations_cadence_id_constraint EXCLUDE USING gist (iterations_cadence_id WITH =, daterange(start_date, due_date, '[]'::text) WITH &&) WHERE ((group_id IS NOT NULL)) DEFERRABLE INITIALLY DEFERRED;
ALTER TABLE ONLY sprints
ADD CONSTRAINT iteration_start_and_due_daterange_project_id_constraint EXCLUDE USING gist (project_id WITH =, daterange(start_date, due_date, '[]'::text) WITH &&) WHERE ((project_id IS NOT NULL));
@@ -24831,6 +24889,9 @@ ALTER TABLE ONLY namespace_admin_notes
ALTER TABLE ONLY namespace_aggregation_schedules
ADD CONSTRAINT namespace_aggregation_schedules_pkey PRIMARY KEY (namespace_id);
+ALTER TABLE ONLY namespace_ci_cd_settings
+ ADD CONSTRAINT namespace_ci_cd_settings_pkey PRIMARY KEY (namespace_id);
+
ALTER TABLE ONLY namespace_limits
ADD CONSTRAINT namespace_limits_pkey PRIMARY KEY (namespace_id);
@@ -24903,6 +24964,9 @@ ALTER TABLE ONLY operations_user_lists
ALTER TABLE ONLY packages_build_infos
ADD CONSTRAINT packages_build_infos_pkey PRIMARY KEY (id);
+ALTER TABLE ONLY packages_cleanup_policies
+ ADD CONSTRAINT packages_cleanup_policies_pkey PRIMARY KEY (project_id);
+
ALTER TABLE ONLY packages_composer_cache_files
ADD CONSTRAINT packages_composer_cache_files_pkey PRIMARY KEY (id);
@@ -27257,6 +27321,8 @@ CREATE INDEX index_ci_variables_on_key ON ci_variables USING btree (key);
CREATE UNIQUE INDEX index_ci_variables_on_project_id_and_key_and_environment_scope ON ci_variables USING btree (project_id, key, environment_scope);
+CREATE INDEX index_cicd_settings_on_namespace_id_where_stale_pruning_enabled ON namespace_ci_cd_settings USING btree (namespace_id) WHERE (allow_stale_runner_pruning = true);
+
CREATE INDEX index_cluster_agent_tokens_on_agent_id_status_last_used_at ON cluster_agent_tokens USING btree (agent_id, status, last_used_at DESC NULLS LAST);
CREATE INDEX index_cluster_agent_tokens_on_created_by_user_id ON cluster_agent_tokens USING btree (created_by_user_id);
@@ -27705,8 +27771,6 @@ CREATE INDEX index_geo_event_log_on_hashed_storage_attachments_event_id ON geo_e
CREATE INDEX index_geo_event_log_on_hashed_storage_migrated_event_id ON geo_event_log USING btree (hashed_storage_migrated_event_id) WHERE (hashed_storage_migrated_event_id IS NOT NULL);
-CREATE INDEX index_geo_event_log_on_job_artifact_deleted_event_id ON geo_event_log USING btree (job_artifact_deleted_event_id) WHERE (job_artifact_deleted_event_id IS NOT NULL);
-
CREATE INDEX index_geo_event_log_on_lfs_object_deleted_event_id ON geo_event_log USING btree (lfs_object_deleted_event_id) WHERE (lfs_object_deleted_event_id IS NOT NULL);
CREATE INDEX index_geo_event_log_on_repositories_changed_event_id ON geo_event_log USING btree (repositories_changed_event_id) WHERE (repositories_changed_event_id IS NOT NULL);
@@ -27725,8 +27789,6 @@ CREATE INDEX index_geo_hashed_storage_attachments_events_on_project_id ON geo_ha
CREATE INDEX index_geo_hashed_storage_migrated_events_on_project_id ON geo_hashed_storage_migrated_events USING btree (project_id);
-CREATE INDEX index_geo_job_artifact_deleted_events_on_job_artifact_id ON geo_job_artifact_deleted_events USING btree (job_artifact_id);
-
CREATE INDEX index_geo_lfs_object_deleted_events_on_lfs_object_id ON geo_lfs_object_deleted_events USING btree (lfs_object_id);
CREATE INDEX index_geo_node_namespace_links_on_geo_node_id ON geo_node_namespace_links USING btree (geo_node_id);
@@ -27809,9 +27871,9 @@ CREATE UNIQUE INDEX index_group_deploy_keys_group_on_group_deploy_key_and_group_
CREATE INDEX index_group_deploy_keys_groups_on_group_deploy_key_id ON group_deploy_keys_groups USING btree (group_deploy_key_id);
-CREATE UNIQUE INDEX index_group_deploy_keys_on_fingerprint ON group_deploy_keys USING btree (fingerprint);
+CREATE INDEX index_group_deploy_keys_on_fingerprint ON group_deploy_keys USING btree (fingerprint);
-CREATE INDEX index_group_deploy_keys_on_fingerprint_sha256 ON group_deploy_keys USING btree (fingerprint_sha256);
+CREATE UNIQUE INDEX index_group_deploy_keys_on_fingerprint_sha256_unique ON group_deploy_keys USING btree (fingerprint_sha256);
CREATE INDEX index_group_deploy_keys_on_user_id ON group_deploy_keys USING btree (user_id);
@@ -27821,7 +27883,7 @@ CREATE UNIQUE INDEX index_group_deploy_tokens_on_group_and_deploy_token_ids ON g
CREATE UNIQUE INDEX index_group_group_links_on_shared_group_and_shared_with_group ON group_group_links USING btree (shared_group_id, shared_with_group_id);
-CREATE INDEX index_group_group_links_on_shared_with_group_id ON group_group_links USING btree (shared_with_group_id);
+CREATE INDEX index_group_group_links_on_shared_with_group_and_shared_group ON group_group_links USING btree (shared_with_group_id, shared_group_id);
CREATE INDEX index_group_import_states_on_group_id ON group_import_states USING btree (group_id);
@@ -27879,6 +27941,8 @@ CREATE INDEX index_imported_projects_on_import_type_creator_id_created_at ON pro
CREATE INDEX index_imported_projects_on_import_type_id ON projects USING btree (import_type, id) WHERE (import_type IS NOT NULL);
+CREATE UNIQUE INDEX index_in_product_marketing_emails_on_user_campaign ON in_product_marketing_emails USING btree (user_id, campaign);
+
CREATE INDEX index_in_product_marketing_emails_on_user_id ON in_product_marketing_emails USING btree (user_id);
CREATE UNIQUE INDEX index_in_product_marketing_emails_on_user_track_series ON in_product_marketing_emails USING btree (user_id, track, series);
@@ -27915,26 +27979,14 @@ CREATE INDEX index_integrations_on_inherit_from_id ON integrations USING btree (
CREATE INDEX index_integrations_on_project_and_type_new_where_inherit_null ON integrations USING btree (project_id, type_new) WHERE (inherit_from_id IS NULL);
-CREATE INDEX index_integrations_on_project_and_type_where_inherit_null ON integrations USING btree (project_id, type) WHERE (inherit_from_id IS NULL);
-
CREATE UNIQUE INDEX index_integrations_on_project_id_and_type_new_unique ON integrations USING btree (project_id, type_new);
-CREATE UNIQUE INDEX index_integrations_on_project_id_and_type_unique ON integrations USING btree (project_id, type);
-
-CREATE INDEX index_integrations_on_type ON integrations USING btree (type);
-
-CREATE UNIQUE INDEX index_integrations_on_type_and_instance_partial ON integrations USING btree (type, instance) WHERE (instance = true);
-
-CREATE INDEX index_integrations_on_type_id_when_active_and_project_id_not_nu ON integrations USING btree (type, id) WHERE ((active = true) AND (project_id IS NOT NULL));
-
CREATE INDEX index_integrations_on_type_new ON integrations USING btree (type_new);
CREATE INDEX index_integrations_on_type_new_and_instance_partial ON integrations USING btree (type_new, instance) WHERE (instance = true);
CREATE INDEX index_integrations_on_type_new_id_when_active_and_has_project ON integrations USING btree (type_new, id) WHERE ((active = true) AND (project_id IS NOT NULL));
-CREATE UNIQUE INDEX index_integrations_on_unique_group_id_and_type ON integrations USING btree (group_id, type);
-
CREATE INDEX index_integrations_on_unique_group_id_and_type_new ON integrations USING btree (group_id, type_new);
CREATE INDEX index_internal_ids_on_namespace_id ON internal_ids USING btree (namespace_id);
@@ -28047,11 +28099,13 @@ CREATE INDEX index_job_artifact_states_on_verification_state ON ci_job_artifact_
CREATE INDEX index_job_artifact_states_pending_verification ON ci_job_artifact_states USING btree (verified_at NULLS FIRST) WHERE (verification_state = 0);
+CREATE INDEX index_key_updated_at_on_user_custom_attribute ON user_custom_attributes USING btree (key, updated_at);
+
CREATE INDEX index_keys_on_expires_at_and_id ON keys USING btree (date(timezone('UTC'::text, expires_at)), id) WHERE (expiry_notification_delivered_at IS NULL);
-CREATE UNIQUE INDEX index_keys_on_fingerprint ON keys USING btree (fingerprint);
+CREATE INDEX index_keys_on_fingerprint ON keys USING btree (fingerprint);
-CREATE INDEX index_keys_on_fingerprint_sha256 ON keys USING btree (fingerprint_sha256);
+CREATE UNIQUE INDEX index_keys_on_fingerprint_sha256_unique ON keys USING btree (fingerprint_sha256);
CREATE INDEX index_keys_on_id_and_ldap_key_type ON keys USING btree (id) WHERE ((type)::text = 'LDAPKey'::text);
@@ -28319,10 +28373,6 @@ CREATE UNIQUE INDEX index_namespace_root_storage_statistics_on_namespace_id ON n
CREATE UNIQUE INDEX index_namespace_statistics_on_namespace_id ON namespace_statistics USING btree (namespace_id);
-CREATE INDEX index_namespaces_id_parent_id_is_not_null ON namespaces USING btree (id) WHERE (parent_id IS NOT NULL);
-
-CREATE INDEX index_namespaces_id_parent_id_is_null ON namespaces USING btree (id) WHERE (parent_id IS NULL);
-
CREATE UNIQUE INDEX index_namespaces_name_parent_id_type ON namespaces USING btree (name, parent_id, type);
CREATE INDEX index_namespaces_on_created_at ON namespaces USING btree (created_at);
@@ -28541,6 +28591,8 @@ CREATE INDEX index_packages_package_file_build_infos_on_pipeline_id ON packages_
CREATE INDEX index_packages_package_files_on_file_store ON packages_package_files USING btree (file_store);
+CREATE INDEX index_packages_package_files_on_id_for_cleanup ON packages_package_files USING btree (id) WHERE (status = 1);
+
CREATE INDEX index_packages_package_files_on_package_id_and_file_name ON packages_package_files USING btree (package_id, file_name);
CREATE INDEX index_packages_package_files_on_package_id_id ON packages_package_files USING btree (package_id, id);
@@ -28615,8 +28667,6 @@ CREATE INDEX index_pages_domains_on_verified_at_and_enabled_until ON pages_domai
CREATE INDEX index_pages_domains_on_wildcard ON pages_domains USING btree (wildcard);
-CREATE UNIQUE INDEX index_partial_am_alerts_on_project_id_and_fingerprint ON alert_management_alerts USING btree (project_id, fingerprint) WHERE (status <> 2);
-
CREATE INDEX index_partial_ci_builds_on_user_id_name_parser_features ON ci_builds USING btree (user_id, name) WHERE (((type)::text = 'Ci::Build'::text) AND ((name)::text = ANY (ARRAY[('container_scanning'::character varying)::text, ('dast'::character varying)::text, ('dependency_scanning'::character varying)::text, ('license_management'::character varying)::text, ('license_scanning'::character varying)::text, ('sast'::character varying)::text, ('coverage_fuzzing'::character varying)::text, ('secret_detection'::character varying)::text])));
CREATE INDEX index_pat_on_user_id_and_expires_at ON personal_access_tokens USING btree (user_id, expires_at);
@@ -28697,7 +28747,7 @@ COMMENT ON INDEX index_project_features_on_project_id_include_container_registry
CREATE INDEX index_project_features_on_project_id_ral_20 ON project_features USING btree (project_id) WHERE (repository_access_level = 20);
-CREATE INDEX index_project_group_links_on_group_id ON project_group_links USING btree (group_id);
+CREATE INDEX index_project_group_links_on_group_id_and_project_id ON project_group_links USING btree (group_id, project_id);
CREATE INDEX index_project_group_links_on_project_id ON project_group_links USING btree (project_id);
@@ -28949,8 +28999,6 @@ CREATE INDEX index_requirements_management_test_reports_on_build_id ON requireme
CREATE INDEX index_requirements_management_test_reports_on_issue_id ON requirements_management_test_reports USING btree (issue_id);
-CREATE INDEX index_requirements_management_test_reports_on_requirement_id ON requirements_management_test_reports USING btree (requirement_id);
-
CREATE INDEX index_requirements_on_author_id ON requirements USING btree (author_id);
CREATE INDEX index_requirements_on_created_at ON requirements USING btree (created_at);
@@ -29305,6 +29353,8 @@ CREATE INDEX index_unit_test_failures_failed_at ON ci_unit_test_failures USING b
CREATE UNIQUE INDEX index_unit_test_failures_unique_columns ON ci_unit_test_failures USING btree (unit_test_id, failed_at DESC, build_id);
+CREATE UNIQUE INDEX index_unresolved_alerts_on_project_id_and_fingerprint ON alert_management_alerts USING btree (project_id, fingerprint) WHERE ((fingerprint IS NOT NULL) AND (status <> 2));
+
CREATE UNIQUE INDEX index_upcoming_reconciliations_on_namespace_id ON upcoming_reconciliations USING btree (namespace_id);
CREATE INDEX index_upload_states_failed_verification ON upload_states USING btree (verification_retry_at NULLS FIRST) WHERE (verification_state = 3);
@@ -29483,6 +29533,8 @@ CREATE INDEX index_vulnerability_external_issue_links_on_author_id ON vulnerabil
CREATE INDEX index_vulnerability_external_issue_links_on_vulnerability_id ON vulnerability_external_issue_links USING btree (vulnerability_id);
+CREATE INDEX index_vulnerability_feedback_finding_uuid ON vulnerability_feedback USING hash (finding_uuid);
+
CREATE INDEX index_vulnerability_feedback_on_author_id ON vulnerability_feedback USING btree (author_id);
CREATE INDEX index_vulnerability_feedback_on_comment_author_id ON vulnerability_feedback USING btree (comment_author_id);
@@ -29669,10 +29721,6 @@ CREATE UNIQUE INDEX taggings_idx ON taggings USING btree (tag_id, taggable_id, t
CREATE UNIQUE INDEX term_agreements_unique_index ON term_agreements USING btree (user_id, term_id);
-CREATE INDEX tmp_gitlab_subscriptions_max_seats_used_migration ON gitlab_subscriptions USING btree (id) WHERE ((start_date >= '2021-08-02'::date) AND (start_date <= '2021-11-20'::date) AND (max_seats_used <> 0) AND (max_seats_used > seats_in_use) AND (max_seats_used > seats));
-
-CREATE INDEX tmp_gitlab_subscriptions_max_seats_used_migration_2 ON gitlab_subscriptions USING btree (id) WHERE ((start_date < '2021-08-02'::date) AND (max_seats_used <> 0) AND (max_seats_used > seats_in_use) AND (max_seats_used > seats));
-
CREATE INDEX tmp_idx_container_repos_on_non_migrated ON container_repositories USING btree (project_id, id) WHERE ((migration_state <> 'import_done'::text) AND (created_at < '2022-01-23 00:00:00'::timestamp without time zone));
CREATE INDEX tmp_index_ci_job_artifacts_on_id_where_trace_and_expire_at ON ci_job_artifacts USING btree (id) WHERE ((file_type = 3) AND (expire_at = ANY (ARRAY['2021-04-22 00:00:00+00'::timestamp with time zone, '2021-05-22 00:00:00+00'::timestamp with time zone, '2021-06-22 00:00:00+00'::timestamp with time zone, '2022-01-22 00:00:00+00'::timestamp with time zone, '2022-02-22 00:00:00+00'::timestamp with time zone, '2022-03-22 00:00:00+00'::timestamp with time zone, '2022-04-22 00:00:00+00'::timestamp with time zone])));
@@ -29687,15 +29735,15 @@ CREATE INDEX tmp_index_for_null_project_namespace_id ON projects USING btree (id
CREATE INDEX tmp_index_for_project_namespace_id_migration_on_routes ON routes USING btree (id) WHERE ((namespace_id IS NULL) AND ((source_type)::text = 'Project'::text));
+CREATE INDEX tmp_index_integrations_on_id_where_type_droneci_or_teamcity ON integrations USING btree (id) WHERE ((type_new = ANY (ARRAY['Integrations::DroneCi'::text, 'Integrations::Teamcity'::text])) AND (encrypted_properties IS NOT NULL));
+
CREATE INDEX tmp_index_issues_on_issue_type_and_id ON issues USING btree (issue_type, id);
CREATE INDEX tmp_index_members_on_state ON members USING btree (state) WHERE (state = 2);
-CREATE INDEX tmp_index_merge_requests_draft_and_status_leaky_regex ON merge_requests USING btree (id) WHERE ((draft = true) AND (state_id = 1) AND ((title)::text ~* '^\[draft\]|\(draft\)|draft:|draft|\[WIP\]|WIP:|WIP'::text) AND ((title)::text !~* '^(\[draft\]|\(draft\)|draft:|draft|\[WIP\]|WIP:|WIP)'::text));
+CREATE INDEX tmp_index_merge_requests_draft_and_status ON merge_requests USING btree (id) WHERE ((draft = false) AND (state_id = 1) AND ((title)::text ~* '^(\[draft\]|\(draft\)|draft:|draft|\[WIP\]|WIP:|WIP)'::text));
-CREATE INDEX tmp_index_namespaces_empty_traversal_ids_with_child_namespaces ON namespaces USING btree (id) WHERE ((parent_id IS NOT NULL) AND (traversal_ids = '{}'::integer[]));
-
-CREATE INDEX tmp_index_namespaces_empty_traversal_ids_with_root_namespaces ON namespaces USING btree (id) WHERE ((parent_id IS NULL) AND (traversal_ids = '{}'::integer[]));
+CREATE INDEX tmp_index_notes_on_id_where_discussion_id_is_null ON notes USING btree (id) WHERE (discussion_id IS NULL);
CREATE UNIQUE INDEX tmp_index_on_tmp_project_id_on_namespaces ON namespaces USING btree (tmp_project_id);
@@ -29705,6 +29753,8 @@ CREATE INDEX tmp_index_projects_on_id_and_runners_token ON projects USING btree
CREATE INDEX tmp_index_projects_on_id_and_runners_token_encrypted ON projects USING btree (id, runners_token_encrypted) WHERE (runners_token_encrypted IS NOT NULL);
+CREATE INDEX tp_index_created_at_cluster_id_project_id_on_deployments ON deployments USING btree (created_at, cluster_id, project_id) WHERE ((cluster_id IS NOT NULL) AND (created_at > '2022-04-03 00:00:00'::timestamp without time zone));
+
CREATE UNIQUE INDEX uniq_pkgs_deb_grp_architectures_on_distribution_id_and_name ON packages_debian_group_architectures USING btree (distribution_id, name);
CREATE UNIQUE INDEX uniq_pkgs_deb_grp_components_on_distribution_id_and_name ON packages_debian_group_components USING btree (distribution_id, name);
@@ -31027,6 +31077,8 @@ CREATE TRIGGER merge_requests_loose_fk_trigger AFTER DELETE ON merge_requests RE
CREATE TRIGGER namespaces_loose_fk_trigger AFTER DELETE ON namespaces REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();
+CREATE TRIGGER nullify_merge_request_metrics_build_data_on_update BEFORE UPDATE ON merge_request_metrics FOR EACH ROW EXECUTE FUNCTION nullify_merge_request_metrics_build_data();
+
CREATE TRIGGER projects_loose_fk_trigger AFTER DELETE ON projects REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();
CREATE TRIGGER trigger_delete_project_namespace_on_project_delete AFTER DELETE ON projects FOR EACH ROW WHEN ((old.project_namespace_id IS NOT NULL)) EXECUTE FUNCTION delete_associated_project_namespace();
@@ -31055,8 +31107,6 @@ CREATE TRIGGER trigger_projects_parent_id_on_insert AFTER INSERT ON projects FOR
CREATE TRIGGER trigger_projects_parent_id_on_update AFTER UPDATE ON projects FOR EACH ROW WHEN ((old.namespace_id IS DISTINCT FROM new.namespace_id)) EXECUTE FUNCTION insert_projects_sync_event();
-CREATE TRIGGER trigger_type_new_on_insert AFTER INSERT ON integrations FOR EACH ROW EXECUTE FUNCTION integrations_set_type_new();
-
CREATE TRIGGER trigger_update_has_issues_on_vulnerability_issue_links_delete AFTER DELETE ON vulnerability_issue_links FOR EACH ROW EXECUTE FUNCTION unset_has_issues_on_vulnerability_reads();
CREATE TRIGGER trigger_update_has_issues_on_vulnerability_issue_links_update AFTER INSERT ON vulnerability_issue_links FOR EACH ROW EXECUTE FUNCTION set_has_issues_on_vulnerability_reads();
@@ -31139,9 +31189,6 @@ ALTER TABLE ONLY protected_branch_push_access_levels
ALTER TABLE ONLY internal_ids
ADD CONSTRAINT fk_162941d509 FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE;
-ALTER TABLE ONLY geo_event_log
- ADD CONSTRAINT fk_176d3fbb5d FOREIGN KEY (job_artifact_deleted_event_id) REFERENCES geo_job_artifact_deleted_events(id) ON DELETE CASCADE;
-
ALTER TABLE ONLY incident_management_timeline_events
ADD CONSTRAINT fk_17a5fafbd4 FOREIGN KEY (issue_id) REFERENCES issues(id) ON DELETE CASCADE;
@@ -32297,6 +32344,9 @@ ALTER TABLE ONLY namespace_settings
ALTER TABLE ONLY self_managed_prometheus_alert_events
ADD CONSTRAINT fk_rails_3936dadc62 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE;
+ALTER TABLE ONLY packages_cleanup_policies
+ ADD CONSTRAINT fk_rails_393ba98591 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE;
+
ALTER TABLE ONLY approval_project_rules_groups
ADD CONSTRAINT fk_rails_396841e79e FOREIGN KEY (group_id) REFERENCES namespaces(id) ON DELETE CASCADE;
@@ -33095,6 +33145,9 @@ ALTER TABLE ONLY vulnerability_occurrence_identifiers
ALTER TABLE ONLY alert_management_http_integrations
ADD CONSTRAINT fk_rails_bec49f52cc FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE;
+ALTER TABLE ONLY namespace_ci_cd_settings
+ ADD CONSTRAINT fk_rails_bf04185d54 FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE;
+
ALTER TABLE ONLY vulnerability_occurrences
ADD CONSTRAINT fk_rails_bf5b788ca7 FOREIGN KEY (scanner_id) REFERENCES vulnerability_scanners(id) ON DELETE CASCADE;
@@ -33446,9 +33499,6 @@ ALTER TABLE ONLY merge_requests_closing_issues
ALTER TABLE ONLY banned_users
ADD CONSTRAINT fk_rails_fa5bb598e5 FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;
-ALTER TABLE ONLY requirements_management_test_reports
- ADD CONSTRAINT fk_rails_fb3308ad55 FOREIGN KEY (requirement_id) REFERENCES requirements(id) ON DELETE CASCADE;
-
ALTER TABLE ONLY operations_feature_flags_issues
ADD CONSTRAINT fk_rails_fb4d2a7cb1 FOREIGN KEY (issue_id) REFERENCES issues(id) ON DELETE CASCADE;