Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-01-20 12:16:11 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-01-20 12:16:11 +0300
commitedaa33dee2ff2f7ea3fac488d41558eb5f86d68c (patch)
tree11f143effbfeba52329fb7afbd05e6e2a3790241 /db/migrate
parentd8a5691316400a0f7ec4f83832698f1988eb27c1 (diff)
Add latest changes from gitlab-org/gitlab@14-7-stable-eev14.7.0-rc42
Diffstat (limited to 'db/migrate')
-rw-r--r--db/migrate/20201211145950_add_bloat_estimate_to_reindex_action.rb9
-rw-r--r--db/migrate/20201214000000_change_mr_allow_maintainer_to_push_default.rb19
-rw-r--r--db/migrate/20201214032220_add_has_external_wiki_trigger.rb52
-rw-r--r--db/migrate/20201214084105_add_expiration_policy_completed_at_to_container_repositories.rb12
-rw-r--r--db/migrate/20201214111858_add_container_registry_cleanup_tags_service_max_list_size_to_application_settings.rb11
-rw-r--r--db/migrate/20201214112752_add_app_settings_container_reg_cleanup_tags_service_max_list_size_constraint.rb19
-rw-r--r--db/migrate/20201214113729_add_custom_mapping_columns_to_http_integrations.rb10
-rw-r--r--db/migrate/20201214184020_add_epic_board_list.rb33
-rw-r--r--db/migrate/20201215084652_delete_mock_deployment_service_records.rb15
-rw-r--r--db/migrate/20201215132151_change_unique_index_on_security_findings.rb36
-rw-r--r--db/migrate/20201215205404_create_namespace_package_settings.rb25
-rw-r--r--db/migrate/20201216151616_add_squash_commit_sha_index.rb22
-rw-r--r--db/migrate/20201216154457_add_devops_adoption_snapshot_range_end.rb11
-rw-r--r--db/migrate/20201217070530_add_group_merge_request_approval_settings.rb24
-rw-r--r--db/migrate/20201217111448_change_pages_deployment_size_to_bigint.rb17
-rw-r--r--db/migrate/20201217132603_create_elastic_reindexing_subtasks.rb56
-rw-r--r--db/migrate/20201218194311_create_admin_notes.rb21
-rw-r--r--db/migrate/20201221124036_add_devops_snapshot_index.rb19
-rw-r--r--db/migrate/20201221213415_change_clusters_helm_major_version_default_to_3.rb9
-rw-r--r--db/migrate/20201221225303_add_service_desk_reply_to_is_not_null_index_on_issues.rb11
-rw-r--r--db/migrate/20201222151823_update_trusted_apps_to_confidential.rb23
-rw-r--r--db/migrate/20201223114050_add_restrict_user_defined_variables_to_project_settings.rb19
-rw-r--r--db/migrate/20201224144948_migrate_coverage_report_worker.rb15
-rw-r--r--db/migrate/20201228110136_create_iterations_cadence.rb29
-rw-r--r--db/migrate/20201228110238_add_iterations_cadence_to_sprints.rb22
-rw-r--r--db/migrate/20201228184500_add_dismissal_reason_into_vulnerability_feedback_table.rb13
-rw-r--r--db/migrate/20201229105948_add_invisible_captcha_enabled_to_settings.rb9
-rw-r--r--db/migrate/20201230161206_add_rate_limiting_response_text_to_application_settings.rb12
-rw-r--r--db/migrate/20201230180202_create_onboarding_progress.rb36
-rw-r--r--db/migrate/20210101110640_set_limit_for_rate_limiting_response_text.rb16
-rw-r--r--db/migrate/20210102164121_drop_temporary_index_on_ci_builds.rb19
-rw-r--r--db/migrate/20210104163218_add_epic_board_position_index.rb18
-rw-r--r--db/migrate/20210105052034_rename_asset_proxy_whitelist_on_application_settings.rb21
-rw-r--r--db/migrate/20210105153342_add_entity_columns_to_vulnerability_occurrences.rb16
-rw-r--r--db/migrate/20210105154321_add_text_limit_to_vulnerability_occurrences_entity_columns.rb23
-rw-r--r--db/migrate/20210106061254_add_unique_index_for_golang_packages.rb20
-rw-r--r--db/migrate/20210106153021_drop_tmp_index_on_emails.rb20
-rw-r--r--db/migrate/20210106155209_add_merge_request_diff_commit_trailers.rb22
-rw-r--r--db/migrate/20210106191305_rename_indexes_on_git_lab_com.rb57
-rw-r--r--db/migrate/20210106225424_add_keep_latest_artifacts_to_application_settings.rb11
-rw-r--r--db/migrate/20210107105306_add_diff_type_to_merge_request_diffs.rb31
-rw-r--r--db/migrate/20210107154615_add_merge_request_context_commit_trailers.rb12
-rw-r--r--db/migrate/20210108161039_update_max_import_size_default.rb9
-rw-r--r--db/migrate/20210111051045_create_dast_profiles.rb35
-rw-r--r--db/migrate/20210111053308_add_project_fk_for_dast_profile.rb19
-rw-r--r--db/migrate/20210111075104_add_temporary_index_on_security_findings_scan_id.rb18
-rw-r--r--db/migrate/20210112084512_drop_tmp_index_on_emails_again.rb18
-rw-r--r--db/migrate/20210112202949_create_composer_cache_file.rb34
-rw-r--r--db/migrate/20210113224909_add_pipeline_configuration_full_path_to_compliance_pipeline.rb16
-rw-r--r--db/migrate/20210113231532_add_converted_at_to_experiment_subjects.rb9
-rw-r--r--db/migrate/20210113231546_add_context_to_experiment_subjects.rb9
-rw-r--r--db/migrate/20210114033715_remove_group_id_title_index.rb20
-rw-r--r--db/migrate/20210114142443_add_indexes_to_onboarding_progresses.rb27
-rw-r--r--db/migrate/20210115090452_create_group_repository_storage_move.rb34
-rw-r--r--db/migrate/20210117210226_add_has_external_issue_tracker_trigger.rb61
-rw-r--r--db/migrate/20210118111307_add_enforce_ssh_key_expiration_to_application_settings.rb9
-rw-r--r--db/migrate/20210119153801_add_proxy_settings_to_jira_tracker_data.rb16
-rw-r--r--db/migrate/20210119162812_add_text_limit_to_compliance_pipeline_configuration_full_path.rb17
-rw-r--r--db/migrate/20210120180956_extend_index_on_ci_builds_metadata.rb40
-rw-r--r--db/migrate/20210120221743_delete_oauth_applications_tmp_index.rb18
-rw-r--r--db/migrate/20210121093618_remove_repository_read_only_to_groups.rb23
-rw-r--r--db/migrate/20210121100038_add_devops_adoption_group_segment.rb18
-rw-r--r--db/migrate/20210121121102_optional_devops_adoption_segment_name.rb24
-rw-r--r--db/migrate/20210122073805_add_repository_read_only_to_namespace_settings.rb19
-rw-r--r--db/migrate/20210122153259_add_state_to_merge_request_reviewers.rb11
-rw-r--r--db/migrate/20210122155158_add_pipeline_step_to_bulk_imports_failures.rb25
-rw-r--r--db/migrate/20210125105410_add_devops_adoption_segment_namespace_fk.rb17
-rw-r--r--db/migrate/20210126030249_add_security_dashboard_access_level_into_project_features.rb20
-rw-r--r--db/migrate/20210126091713_add_unique_index_services_project_id_and_type.rb19
-rw-r--r--db/migrate/20210126092102_remove_index_services_project_id_and_type.rb20
-rw-r--r--db/migrate/20210126233608_add_rubygems_max_file_size_to_plan_limits.rb9
-rw-r--r--db/migrate/20210127052226_add_subgroup_events_to_web_hooks.rb9
-rw-r--r--db/migrate/20210127143025_add_oldest_merge_requests_index.rb13
-rw-r--r--db/migrate/20210127152613_add_iterations_cadence_date_range_constraint.rb30
-rw-r--r--db/migrate/20210127202613_remove_iteration_group_date_range_constraint.rb30
-rw-r--r--db/migrate/20210128044930_add_git_two_factor_session_expiry_to_application_settings.rb9
-rw-r--r--db/migrate/20210128101707_add_prevent_merge_without_jira_issue_to_project_settings.rb18
-rw-r--r--db/migrate/20210128114526_add_auto_delete_at_to_environments.rb19
-rw-r--r--db/migrate/20210128140157_add_content_type_to_dependency_proxy_manifests.rb12
-rw-r--r--db/migrate/20210128140232_add_text_limit_to_dependency_proxy_manifests_content_type.rb16
-rw-r--r--db/migrate/20210128152830_create_ci_namespace_monthly_usage.rb30
-rw-r--r--db/migrate/20210128172149_create_background_migration_tracking_tables.rb59
-rw-r--r--db/migrate/20210129225244_add_index_to_oncall_shfts_on_starts_at_and_ends_at.rb24
-rw-r--r--db/migrate/20210201034649_add_active_periods_to_on_call_rotations.rb10
-rw-r--r--db/migrate/20210201140434_add_oldest_merge_requests_index_again.rb59
-rw-r--r--db/migrate/20210203002331_drop_backup_label_index.rb19
-rw-r--r--db/migrate/20210203092540_remove_has_external_wiki_constraint.rb20
-rw-r--r--db/migrate/20210203092549_restore_has_external_wiki_default_value.rb31
-rw-r--r--db/migrate/20210203221631_create_packages_rubygems_metadata.rb69
-rw-r--r--db/migrate/20210203222620_add_expired_index_to_composer_cache_files.rb19
-rw-r--r--db/migrate/20210203223551_add_orphan_index_to_composer_cache_files.rb19
-rw-r--r--db/migrate/20210204152257_add_status_to_packages_packages.rb9
-rw-r--r--db/migrate/20210204212850_add_group_id_to_ci_daily_build_group_report_results.rb9
-rw-r--r--db/migrate/20210205084357_create_ci_project_monthly_usage.rb29
-rw-r--r--db/migrate/20210205134213_add_creator_id_to_custom_emoji.rb23
-rw-r--r--db/migrate/20210205143926_remove_namespace_id_foreign_key_on_namespace_onboarding_actions.rb19
-rw-r--r--db/migrate/20210205213915_remove_foreign_keys_from_alerts_service_data.rb19
-rw-r--r--db/migrate/20210208103243_add_issue_created_at_to_onboarding_progress.rb9
-rw-r--r--db/migrate/20210208125050_add_status_expires_at_to_user_statuses.rb19
-rw-r--r--db/migrate/20210208125248_add_index_on_user_statuses_status_expires_at.rb18
-rw-r--r--db/migrate/20210208144134_add_index_group_id_to_ci_daily_build_group_report_results.rb20
-rw-r--r--db/migrate/20210208161207_add_notes_create_limit_to_application_settings.rb9
-rw-r--r--db/migrate/20210208200914_add_ends_at_to_oncall_rotations.rb9
-rw-r--r--db/migrate/20210209110019_create_external_approval_rules.rb44
-rw-r--r--db/migrate/20210209160510_create_security_orchestration_policy_configurations.rb25
-rw-r--r--db/migrate/20210209171525_add_status_index_to_packages_packages.rb19
-rw-r--r--db/migrate/20210209232508_add_markdown_surround_selection_to_user_preferences.rb21
-rw-r--r--db/migrate/20210210210232_add_notes_create_limit_allowlist_to_application_settings.rb9
-rw-r--r--db/migrate/20210211195543_add_created_by_user_for_cluster_agent_token.rb28
-rw-r--r--db/migrate/20210212153934_make_the_geo_oauth_application_trusted_by_default.rb20
-rw-r--r--db/migrate/20210212163231_add_merge_when_pipeline_succeeds_to_notification_settings.rb12
-rw-r--r--db/migrate/20210214201118_add_delayed_project_removal_to_namespace_settings.rb9
-rw-r--r--db/migrate/20210214205155_add_index_to_namespaces_delayed_project_removal.rb18
-rw-r--r--db/migrate/20210215172449_remove_artifact_expiry_temp_index.rb18
-rw-r--r--db/migrate/20210216122140_add_in_product_marketing_emails_enabled_setting.rb9
-rw-r--r--db/migrate/20210216135504_add_created_by_to_cluster_agent.rb27
-rw-r--r--db/migrate/20210216193620_add_description_to_cluster_token.rb21
-rw-r--r--db/migrate/20210216223335_remove_index_on_issues_where_service_desk_reply_to_is_not_null.rb21
-rw-r--r--db/migrate/20210217101901_create_epic_list_user_preferences.rb20
-rw-r--r--db/migrate/20210218040814_add_environment_scope_to_group_variables.rb45
-rw-r--r--db/migrate/20210218142626_change_finding_fingerprint_enum.rb15
-rw-r--r--db/migrate/20210218144056_add_sprints_start_date_not_null_check_constraint.rb17
-rw-r--r--db/migrate/20210218144656_add_sprints_due_date_not_null_check_constraint.rb17
-rw-r--r--db/migrate/20210219100137_add_creator_foreign_key_to_custom_emoji.rb23
-rw-r--r--db/migrate/20210219111040_add_epic_issue_composite_index.rb18
-rw-r--r--db/migrate/20210219211845_add_version_usage_data_id_to_raw_usage_data.rb9
-rw-r--r--db/migrate/20210222030537_add_is_removed_to_oncall_participant.rb19
-rw-r--r--db/migrate/20210222042745_add_is_removed_index_to_oncall_participant.rb21
-rw-r--r--db/migrate/20210222070356_add_storage_size_to_namespace_statistics.rb19
-rw-r--r--db/migrate/20210222070413_add_wiki_size_to_namespace_statistics.rb19
-rw-r--r--db/migrate/20210222085529_add_epic_board_user_preference_user_fk.rb19
-rw-r--r--db/migrate/20210222085551_add_epic_board_user_preference_epic_list_fk.rb19
-rw-r--r--db/migrate/20210222105120_add_container_registry_access_level.rb25
-rw-r--r--db/migrate/20210223053451_add_branch_name_to_dast_profile.rb23
-rw-r--r--db/migrate/20210223132934_add_foreign_key_to_external_approval_rules.rb18
-rw-r--r--db/migrate/20210223133116_add_foreign_key_to_external_approval_rules_protected_branches.rb18
-rw-r--r--db/migrate/20210223230600_update_rubygems_metadata_metadata.rb19
-rw-r--r--db/migrate/20210224132547_add_null_constraint_to_terraform_state_name.rb11
-rw-r--r--db/migrate/20210224133337_add_name_field_to_cluster_agent_token.rb12
-rw-r--r--db/migrate/20210224161552_add_jira_issue_transition_automatic_to_jira_tracker_data.rb9
-rw-r--r--db/migrate/20210225090801_create_dora_daily_metrics.rb31
-rw-r--r--db/migrate/20210225135533_limit_cluster_token_size.rb17
-rw-r--r--db/migrate/20210225153522_add_allow_force_push_to_protected_branches.rb19
-rw-r--r--db/migrate/20210301150451_add_tier_to_environments.rb19
-rw-r--r--db/migrate/20210301193412_add_optional_to_ci_build_needs.rb19
-rw-r--r--db/migrate/20210301200601_rename_asset_proxy_allowlist_on_application_settings.rb29
-rw-r--r--db/migrate/20210301200959_init_schema.rb (renamed from db/migrate/20181228175414_init_schema.rb)0
-rw-r--r--db/migrate/20210811193033_add_unique_index_to_vulnerability_finding_links.rb18
-rw-r--r--db/migrate/20211026124336_add_archive_trace_events_to_integrations.rb7
-rw-r--r--db/migrate/20211209230042_add_status_to_cluster_agent_tokens.rb7
-rw-r--r--db/migrate/20211210025754_alter_constraint_of_phone.rb17
-rw-r--r--db/migrate/20211210031721_change_user_details_phone_text_limit.rb15
-rw-r--r--db/migrate/20211213142344_add_settings_user_email_lookup_limit.rb13
-rw-r--r--db/migrate/20211213154259_add_status_to_packages_package_files.rb7
-rw-r--r--db/migrate/20211213154704_add_status_index_to_packages_package_files.rb15
-rw-r--r--db/migrate/20211215182006_update_application_settings_protected_paths.rb58
-rw-r--r--db/migrate/20211216133107_add_cluster_agent_id_to_vulnerability_reads.rb10
-rw-r--r--db/migrate/20211216134134_add_text_limit_to_vulnerability_reads_cluster_agent_id.rb13
-rw-r--r--db/migrate/20211216135651_add_index_to_cluster_agent_id.rb16
-rw-r--r--db/migrate/20211216220939_add_group_crm_settings.rb13
-rw-r--r--db/migrate/20211217050753_remove_artifacts_archive_id_foreign_key_from_project_pages_metadata.rb19
-rw-r--r--db/migrate/20211220174504_add_secure_scanning_actions_to_onboarding_progresses.rb15
-rw-r--r--db/migrate/20211223125921_add_temp_index_to_members_state.rb16
-rw-r--r--db/migrate/20211224112937_add_packages_cleanup_package_file_worker_capacity_to_application_settings.rb13
-rw-r--r--db/migrate/20211224114539_add_packages_cleanup_package_file_worker_capacity_check_constraint_to_app_settings.rb15
-rw-r--r--db/migrate/20220104174445_add_ci_runners_index_on_active_state.rb15
-rw-r--r--db/migrate/20220105121325_add_route_namespace_reference.rb13
-rw-r--r--db/migrate/20220106141756_remove_lock_version_indexes.rb23
-rw-r--r--db/migrate/20220106230629_add_registry_migration_application_settings.rb15
-rw-r--r--db/migrate/20220106230712_add_migration_columns_to_container_repositories.rb19
-rw-r--r--db/migrate/20220107091629_add_route_namespace_index.rb19
-rw-r--r--db/migrate/20220107165036_remove_note_id_index.rb16
-rw-r--r--db/migrate/20220109133006_remove_ci_pipelines_lock_version_index.rb17
-rw-r--r--db/migrate/20220110170953_create_ci_secure_files.rb19
-rw-r--r--db/migrate/20220111095006_add_maintainer_note_to_ci_runners.rb12
-rw-r--r--db/migrate/20220111095007_add_text_limit_to_ci_runners_maintainer_note.rb13
-rw-r--r--db/migrate/20220111200254_remove_index_from_merge_requests.rb15
-rw-r--r--db/migrate/20220112115413_add_requires_verification_to_user_details.rb9
-rw-r--r--db/migrate/20220112205111_create_security_training_providers.rb14
-rw-r--r--db/migrate/20220112232037_add_member_namespace_reference.rb13
-rw-r--r--db/migrate/20220112232605_add_member_namespace_index.rb19
-rw-r--r--db/migrate/20220113125401_create_security_trainings.rb18
-rw-r--r--db/migrate/20220114131950_add_status_only_index_to_packages_package_files.rb15
-rw-r--r--db/migrate/20220117225936_add_text_limits_to_container_repositories_migration_columns.rb15
-rw-r--r--db/migrate/20220118141950_add_text_limit_to_container_registry_import_target_plan.rb13
-rw-r--r--db/migrate/20220118155846_add_runner_token_expiration_interval_settings_to_application_settings.rb9
-rw-r--r--db/migrate/20220118155847_add_runner_token_expiration_interval_settings_to_namespace_settings.rb11
-rw-r--r--db/migrate/20220118155848_add_runner_token_expiration_interval_settings_to_project_settings.rb9
188 files changed, 628 insertions, 3066 deletions
diff --git a/db/migrate/20201211145950_add_bloat_estimate_to_reindex_action.rb b/db/migrate/20201211145950_add_bloat_estimate_to_reindex_action.rb
deleted file mode 100644
index 894cee92284..00000000000
--- a/db/migrate/20201211145950_add_bloat_estimate_to_reindex_action.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddBloatEstimateToReindexAction < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :postgres_reindex_actions, :bloat_estimate_bytes_start, :bigint
- end
-end
diff --git a/db/migrate/20201214000000_change_mr_allow_maintainer_to_push_default.rb b/db/migrate/20201214000000_change_mr_allow_maintainer_to_push_default.rb
deleted file mode 100644
index 47eec16807b..00000000000
--- a/db/migrate/20201214000000_change_mr_allow_maintainer_to_push_default.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class ChangeMrAllowMaintainerToPushDefault < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- change_column_default :merge_requests, :allow_maintainer_to_push, from: nil, to: true
- end
- end
-
- def down
- with_lock_retries do
- change_column_default :merge_requests, :allow_maintainer_to_push, from: true, to: nil
- end
- end
-end
diff --git a/db/migrate/20201214032220_add_has_external_wiki_trigger.rb b/db/migrate/20201214032220_add_has_external_wiki_trigger.rb
deleted file mode 100644
index c77b887d509..00000000000
--- a/db/migrate/20201214032220_add_has_external_wiki_trigger.rb
+++ /dev/null
@@ -1,52 +0,0 @@
-# frozen_string_literal: true
-
-class AddHasExternalWikiTrigger < ActiveRecord::Migration[6.0]
- include Gitlab::Database::SchemaHelpers
-
- DOWNTIME = false
- FUNCTION_NAME = 'set_has_external_wiki'
- TRIGGER_ON_INSERT_NAME = 'trigger_has_external_wiki_on_insert'
- TRIGGER_ON_UPDATE_NAME = 'trigger_has_external_wiki_on_update'
- TRIGGER_ON_DELETE_NAME = 'trigger_has_external_wiki_on_delete'
-
- def up
- create_trigger_function(FUNCTION_NAME, replace: true) do
- <<~SQL
- UPDATE projects SET has_external_wiki = COALESCE(NEW.active, FALSE)
- WHERE projects.id = COALESCE(NEW.project_id, OLD.project_id);
- RETURN NULL;
- SQL
- end
-
- execute(<<~SQL)
- CREATE TRIGGER #{TRIGGER_ON_INSERT_NAME}
- AFTER INSERT ON services
- FOR EACH ROW
- WHEN (NEW.active = TRUE AND NEW.type = 'ExternalWikiService' AND NEW.project_id IS NOT NULL)
- EXECUTE FUNCTION #{FUNCTION_NAME}();
- SQL
-
- execute(<<~SQL)
- CREATE TRIGGER #{TRIGGER_ON_UPDATE_NAME}
- AFTER UPDATE ON services
- FOR EACH ROW
- WHEN (NEW.type = 'ExternalWikiService' AND OLD.active != NEW.active AND NEW.project_id IS NOT NULL)
- EXECUTE FUNCTION #{FUNCTION_NAME}();
- SQL
-
- execute(<<~SQL)
- CREATE TRIGGER #{TRIGGER_ON_DELETE_NAME}
- AFTER DELETE ON services
- FOR EACH ROW
- WHEN (OLD.type = 'ExternalWikiService' AND OLD.project_id IS NOT NULL)
- EXECUTE FUNCTION #{FUNCTION_NAME}();
- SQL
- end
-
- def down
- drop_trigger(:services, TRIGGER_ON_INSERT_NAME)
- drop_trigger(:services, TRIGGER_ON_UPDATE_NAME)
- drop_trigger(:services, TRIGGER_ON_DELETE_NAME)
- drop_function(FUNCTION_NAME)
- end
-end
diff --git a/db/migrate/20201214084105_add_expiration_policy_completed_at_to_container_repositories.rb b/db/migrate/20201214084105_add_expiration_policy_completed_at_to_container_repositories.rb
deleted file mode 100644
index 9e1f21068c2..00000000000
--- a/db/migrate/20201214084105_add_expiration_policy_completed_at_to_container_repositories.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-# frozen_string_literal: true
-class AddExpirationPolicyCompletedAtToContainerRepositories < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def up
- add_column(:container_repositories, :expiration_policy_completed_at, :datetime_with_timezone)
- end
-
- def down
- remove_column(:container_repositories, :expiration_policy_completed_at)
- end
-end
diff --git a/db/migrate/20201214111858_add_container_registry_cleanup_tags_service_max_list_size_to_application_settings.rb b/db/migrate/20201214111858_add_container_registry_cleanup_tags_service_max_list_size_to_application_settings.rb
deleted file mode 100644
index 312220914c1..00000000000
--- a/db/migrate/20201214111858_add_container_registry_cleanup_tags_service_max_list_size_to_application_settings.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-class AddContainerRegistryCleanupTagsServiceMaxListSizeToApplicationSettings < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def change
- add_column(:application_settings, :container_registry_cleanup_tags_service_max_list_size, :integer, default: 200, null: false)
- end
-end
diff --git a/db/migrate/20201214112752_add_app_settings_container_reg_cleanup_tags_service_max_list_size_constraint.rb b/db/migrate/20201214112752_add_app_settings_container_reg_cleanup_tags_service_max_list_size_constraint.rb
deleted file mode 100644
index 935dd641b4c..00000000000
--- a/db/migrate/20201214112752_add_app_settings_container_reg_cleanup_tags_service_max_list_size_constraint.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddAppSettingsContainerRegCleanupTagsServiceMaxListSizeConstraint < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- CONSTRAINT_NAME = 'app_settings_container_reg_cleanup_tags_max_list_size_positive'
-
- disable_ddl_transaction!
-
- def up
- add_check_constraint :application_settings, 'container_registry_cleanup_tags_service_max_list_size >= 0', CONSTRAINT_NAME
- end
-
- def down
- remove_check_constraint :application_settings, CONSTRAINT_NAME
- end
-end
diff --git a/db/migrate/20201214113729_add_custom_mapping_columns_to_http_integrations.rb b/db/migrate/20201214113729_add_custom_mapping_columns_to_http_integrations.rb
deleted file mode 100644
index dbad28280ac..00000000000
--- a/db/migrate/20201214113729_add_custom_mapping_columns_to_http_integrations.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-# frozen_string_literal: true
-
-class AddCustomMappingColumnsToHttpIntegrations < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :alert_management_http_integrations, :payload_example, :jsonb, null: false, default: {}
- add_column :alert_management_http_integrations, :payload_attribute_mapping, :jsonb, null: false, default: {}
- end
-end
diff --git a/db/migrate/20201214184020_add_epic_board_list.rb b/db/migrate/20201214184020_add_epic_board_list.rb
deleted file mode 100644
index 9c4e3280754..00000000000
--- a/db/migrate/20201214184020_add_epic_board_list.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-# frozen_string_literal: true
-
-class AddEpicBoardList < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- unless table_exists?(:boards_epic_lists)
- with_lock_retries do
- create_table :boards_epic_lists do |t|
- t.timestamps_with_timezone
- t.references :epic_board, index: true, foreign_key: { to_table: :boards_epic_boards, on_delete: :cascade }, null: false
- t.references :label, index: true, foreign_key: { on_delete: :cascade }
- t.integer :position
- t.integer :list_type, default: 1, limit: 2, null: false
-
- t.index [:epic_board_id, :label_id], unique: true, where: 'list_type = 1', name: 'index_boards_epic_lists_on_epic_board_id_and_label_id'
- end
- end
- end
-
- add_check_constraint :boards_epic_lists, '(list_type <> 1) OR ("position" IS NOT NULL AND "position" >= 0)', 'boards_epic_lists_position_constraint'
- end
-
- def down
- with_lock_retries do
- drop_table :boards_epic_lists
- end
- end
-end
diff --git a/db/migrate/20201215084652_delete_mock_deployment_service_records.rb b/db/migrate/20201215084652_delete_mock_deployment_service_records.rb
deleted file mode 100644
index 6c601a5e852..00000000000
--- a/db/migrate/20201215084652_delete_mock_deployment_service_records.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-# frozen_string_literal: true
-
-class DeleteMockDeploymentServiceRecords < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def up
- if Rails.env.development?
- execute("DELETE FROM services WHERE type = 'MockDeploymentService'")
- end
- end
-
- def down
- # no-op
- end
-end
diff --git a/db/migrate/20201215132151_change_unique_index_on_security_findings.rb b/db/migrate/20201215132151_change_unique_index_on_security_findings.rb
deleted file mode 100644
index fe474ef3991..00000000000
--- a/db/migrate/20201215132151_change_unique_index_on_security_findings.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-# frozen_string_literal: true
-
-class ChangeUniqueIndexOnSecurityFindings < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- OLD_INDEX_NAME = 'index_security_findings_on_uuid'
- NEW_INDEX_NAME = 'index_security_findings_on_uuid_and_scan_id'
-
- disable_ddl_transaction!
-
- class SecurityFinding < ActiveRecord::Base
- include EachBatch
-
- self.table_name = 'security_findings'
- end
-
- def up
- add_concurrent_index :security_findings, [:uuid, :scan_id], unique: true, name: NEW_INDEX_NAME
-
- remove_concurrent_index_by_name :security_findings, OLD_INDEX_NAME
- end
-
- def down
- # It is very unlikely that we rollback this migration but just in case if we have to,
- # we have to clear the table because there can be multiple records with the same UUID
- # which would break the creation of unique index on the `uuid` column.
- # We choose clearing the table because just removing the duplicated records would
- # cause data inconsistencies.
- SecurityFinding.each_batch(of: 10000) { |relation| relation.delete_all }
-
- add_concurrent_index :security_findings, :uuid, unique: true, name: OLD_INDEX_NAME
-
- remove_concurrent_index_by_name :security_findings, NEW_INDEX_NAME
- end
-end
diff --git a/db/migrate/20201215205404_create_namespace_package_settings.rb b/db/migrate/20201215205404_create_namespace_package_settings.rb
deleted file mode 100644
index d74b99597ce..00000000000
--- a/db/migrate/20201215205404_create_namespace_package_settings.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# frozen_string_literal: true
-
-class CreateNamespacePackageSettings < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- with_lock_retries do
- create_table :namespace_package_settings, if_not_exists: true, id: false do |t|
- t.references :namespace, primary_key: true, index: false, default: nil, foreign_key: { to_table: :namespaces, on_delete: :cascade }, type: :bigint
- t.boolean :maven_duplicates_allowed, null: false, default: true
- t.text :maven_duplicate_exception_regex, null: false, default: ''
- end
- end
-
- add_text_limit :namespace_package_settings, :maven_duplicate_exception_regex, 255
- end
-
- def down
- drop_table :namespace_package_settings
- end
-end
diff --git a/db/migrate/20201216151616_add_squash_commit_sha_index.rb b/db/migrate/20201216151616_add_squash_commit_sha_index.rb
deleted file mode 100644
index ac6d3fda2d2..00000000000
--- a/db/migrate/20201216151616_add_squash_commit_sha_index.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-# frozen_string_literal: true
-
-class AddSquashCommitShaIndex < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = "index_merge_requests_on_target_project_id_and_squash_commit_sha"
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_index :merge_requests,
- [:target_project_id, :squash_commit_sha],
- name: INDEX_NAME
- end
-
- def down
- remove_concurrent_index :merge_requests,
- [:target_project_id, :squash_commit_sha],
- name: INDEX_NAME
- end
-end
diff --git a/db/migrate/20201216154457_add_devops_adoption_snapshot_range_end.rb b/db/migrate/20201216154457_add_devops_adoption_snapshot_range_end.rb
deleted file mode 100644
index ada1bd9b346..00000000000
--- a/db/migrate/20201216154457_add_devops_adoption_snapshot_range_end.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-class AddDevopsAdoptionSnapshotRangeEnd < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def change
- add_column :analytics_devops_adoption_snapshots, :end_time, :datetime_with_timezone
- end
-end
diff --git a/db/migrate/20201217070530_add_group_merge_request_approval_settings.rb b/db/migrate/20201217070530_add_group_merge_request_approval_settings.rb
deleted file mode 100644
index dba9e6e440f..00000000000
--- a/db/migrate/20201217070530_add_group_merge_request_approval_settings.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-# frozen_string_literal: true
-
-class AddGroupMergeRequestApprovalSettings < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- create_table :group_merge_request_approval_settings, id: false do |t|
- t.timestamps_with_timezone null: false
- t.references :group, references: :namespaces, primary_key: true, default: nil, index: false,
- foreign_key: { to_table: :namespaces, on_delete: :cascade }
- t.boolean :allow_author_approval, null: false, default: false
- end
- end
- end
-
- def down
- with_lock_retries do
- drop_table :group_merge_request_approval_settings
- end
- end
-end
diff --git a/db/migrate/20201217111448_change_pages_deployment_size_to_bigint.rb b/db/migrate/20201217111448_change_pages_deployment_size_to_bigint.rb
deleted file mode 100644
index 75420166b87..00000000000
--- a/db/migrate/20201217111448_change_pages_deployment_size_to_bigint.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-# frozen_string_literal: true
-
-class ChangePagesDeploymentSizeToBigint < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- change_column_type_concurrently :pages_deployments, :size, :bigint
- end
-
- def down
- undo_change_column_type_concurrently :pages_deployments, :size
- end
-end
diff --git a/db/migrate/20201217132603_create_elastic_reindexing_subtasks.rb b/db/migrate/20201217132603_create_elastic_reindexing_subtasks.rb
deleted file mode 100644
index db084b885c2..00000000000
--- a/db/migrate/20201217132603_create_elastic_reindexing_subtasks.rb
+++ /dev/null
@@ -1,56 +0,0 @@
-# frozen_string_literal: true
-
-class CreateElasticReindexingSubtasks < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- class ReindexingTask < ActiveRecord::Base
- self.table_name = 'elastic_reindexing_tasks'
- end
-
- class ReindexingSubtask < ActiveRecord::Base
- self.table_name = 'elastic_reindexing_subtasks'
- end
-
- def up
- unless table_exists?(:elastic_reindexing_subtasks)
- create_table :elastic_reindexing_subtasks do |t|
- t.references :elastic_reindexing_task, foreign_key: { on_delete: :cascade }, null: false
- t.text :alias_name, null: false
- t.text :index_name_from, null: false
- t.text :index_name_to, null: false
- t.text :elastic_task, null: false
- t.integer :documents_count_target
- t.integer :documents_count
- t.timestamps_with_timezone null: false
- end
- end
-
- add_text_limit :elastic_reindexing_subtasks, :index_name_from, 255
- add_text_limit :elastic_reindexing_subtasks, :index_name_to, 255
- add_text_limit :elastic_reindexing_subtasks, :elastic_task, 255
- add_text_limit :elastic_reindexing_subtasks, :alias_name, 255
-
- ReindexingTask.find_each do |task|
- next if task.index_name_from.blank? || task.index_name_to.blank? || task.elastic_task.blank?
- next if ReindexingSubtask.where(elastic_reindexing_task_id: task.id).exists?
-
- ReindexingSubtask.create(
- elastic_reindexing_task_id: task.id,
- documents_count_target: task.documents_count_target,
- documents_count: task.documents_count,
- alias_name: 'gitlab-production',
- index_name_from: task.index_name_from,
- index_name_to: task.index_name_to,
- elastic_task: task.elastic_task
- )
- end
- end
-
- def down
- drop_table :elastic_reindexing_subtasks
- end
-end
diff --git a/db/migrate/20201218194311_create_admin_notes.rb b/db/migrate/20201218194311_create_admin_notes.rb
deleted file mode 100644
index 32f5818cdfb..00000000000
--- a/db/migrate/20201218194311_create_admin_notes.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-# frozen_string_literal: true
-
-class CreateAdminNotes < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- create_table_with_constraints :namespace_admin_notes do |t|
- t.timestamps_with_timezone
- t.references :namespace, null: false, foreign_key: { on_delete: :cascade }
- t.text :note
-
- t.text_limit :note, 1000
- end
- end
-
- def down
- drop_table :namespace_admin_notes
- end
-end
diff --git a/db/migrate/20201221124036_add_devops_snapshot_index.rb b/db/migrate/20201221124036_add_devops_snapshot_index.rb
deleted file mode 100644
index 85001e9abcf..00000000000
--- a/db/migrate/20201221124036_add_devops_snapshot_index.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddDevopsSnapshotIndex < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'index_on_snapshots_segment_id_end_time'
-
- def up
- add_concurrent_index :analytics_devops_adoption_snapshots, [:segment_id, :end_time], name: INDEX_NAME
- end
-
- def down
- remove_concurrent_index_by_name :analytics_devops_adoption_snapshots, INDEX_NAME
- end
-end
diff --git a/db/migrate/20201221213415_change_clusters_helm_major_version_default_to_3.rb b/db/migrate/20201221213415_change_clusters_helm_major_version_default_to_3.rb
deleted file mode 100644
index baec0da208b..00000000000
--- a/db/migrate/20201221213415_change_clusters_helm_major_version_default_to_3.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class ChangeClustersHelmMajorVersionDefaultTo3 < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- change_column_default(:clusters, :helm_major_version, from: 2, to: 3)
- end
-end
diff --git a/db/migrate/20201221225303_add_service_desk_reply_to_is_not_null_index_on_issues.rb b/db/migrate/20201221225303_add_service_desk_reply_to_is_not_null_index_on_issues.rb
deleted file mode 100644
index 7643fc107aa..00000000000
--- a/db/migrate/20201221225303_add_service_desk_reply_to_is_not_null_index_on_issues.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-class AddServiceDeskReplyToIsNotNullIndexOnIssues < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- # no-op, the migration's version number was lowered to be executed earlier than db/post_migrate/20201128210234_schedule_populate_issue_email_participants.rb
- #
- # The new migration is located here: db/migrate/20201128210000_add_service_desk_reply_to_is_not_null_index_on_issues_fix.rb
- end
-end
diff --git a/db/migrate/20201222151823_update_trusted_apps_to_confidential.rb b/db/migrate/20201222151823_update_trusted_apps_to_confidential.rb
deleted file mode 100644
index bcb94c65125..00000000000
--- a/db/migrate/20201222151823_update_trusted_apps_to_confidential.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-# frozen_string_literal: true
-
-class UpdateTrustedAppsToConfidential < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = 'tmp_index_oauth_applications_on_id_where_trusted'
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_index :oauth_applications, :id, where: 'trusted = true', name: INDEX_NAME
-
- execute('UPDATE oauth_applications SET confidential = true WHERE trusted = true')
- end
-
- def down
- # We won't be able to tell which trusted applications weren't confidential before the migration
- # and setting all trusted applications are not confidential would introduce security issues
-
- remove_concurrent_index_by_name :oauth_applications, INDEX_NAME
- end
-end
diff --git a/db/migrate/20201223114050_add_restrict_user_defined_variables_to_project_settings.rb b/db/migrate/20201223114050_add_restrict_user_defined_variables_to_project_settings.rb
deleted file mode 100644
index d04c6981bf9..00000000000
--- a/db/migrate/20201223114050_add_restrict_user_defined_variables_to_project_settings.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddRestrictUserDefinedVariablesToProjectSettings < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :project_ci_cd_settings, :restrict_user_defined_variables, :boolean, default: false, null: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :project_ci_cd_settings, :restrict_user_defined_variables
- end
- end
-end
diff --git a/db/migrate/20201224144948_migrate_coverage_report_worker.rb b/db/migrate/20201224144948_migrate_coverage_report_worker.rb
deleted file mode 100644
index 8580a15c256..00000000000
--- a/db/migrate/20201224144948_migrate_coverage_report_worker.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-# frozen_string_literal: true
-
-class MigrateCoverageReportWorker < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- sidekiq_queue_migrate 'ci_pipelines_create_artifact', to: 'ci_pipeline_artifacts_coverage_report' # rubocop:disable Migration/SidekiqQueueMigrate
- end
-
- def down
- sidekiq_queue_migrate 'ci_pipeline_artifacts_coverage_report', to: 'ci_pipelines_create_artifact' # rubocop:disable Migration/SidekiqQueueMigrate
- end
-end
diff --git a/db/migrate/20201228110136_create_iterations_cadence.rb b/db/migrate/20201228110136_create_iterations_cadence.rb
deleted file mode 100644
index 95601ab4b29..00000000000
--- a/db/migrate/20201228110136_create_iterations_cadence.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-# frozen_string_literal: true
-
-class CreateIterationsCadence < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- create_table_with_constraints :iterations_cadences do |t|
- t.references :group, null: false, foreign_key: { to_table: :namespaces, on_delete: :cascade }
- t.timestamps_with_timezone null: false
- t.date :start_date, null: false
- t.date :last_run_date
- t.integer :duration_in_weeks
- t.integer :iterations_in_advance
- t.boolean :active, default: true, null: false
- t.boolean :automatic, default: true, null: false
- t.text :title, null: false
-
- t.text_limit :title, 255
- end
- end
-
- def down
- drop_table :iterations_cadences if table_exists?(:iterations_cadences)
- end
-end
diff --git a/db/migrate/20201228110238_add_iterations_cadence_to_sprints.rb b/db/migrate/20201228110238_add_iterations_cadence_to_sprints.rb
deleted file mode 100644
index 9d9026a265b..00000000000
--- a/db/migrate/20201228110238_add_iterations_cadence_to_sprints.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-# frozen_string_literal: true
-
-class AddIterationsCadenceToSprints < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'index_sprints_iterations_cadence_id'
-
- def up
- add_column :sprints, :iterations_cadence_id, :integer unless column_exists?(:sprints, :iterations_cadence_id)
-
- add_concurrent_index :sprints, :iterations_cadence_id, name: INDEX_NAME
- add_concurrent_foreign_key :sprints, :iterations_cadences, column: :iterations_cadence_id, on_delete: :cascade
- end
-
- def down
- remove_column :sprints, :iterations_cadence_id if column_exists?(:sprints, :iterations_cadence_id)
- end
-end
diff --git a/db/migrate/20201228184500_add_dismissal_reason_into_vulnerability_feedback_table.rb b/db/migrate/20201228184500_add_dismissal_reason_into_vulnerability_feedback_table.rb
deleted file mode 100644
index 92484aced4e..00000000000
--- a/db/migrate/20201228184500_add_dismissal_reason_into_vulnerability_feedback_table.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-# frozen_string_literal: true
-
-class AddDismissalReasonIntoVulnerabilityFeedbackTable < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def up
- add_column :vulnerability_feedback, :dismissal_reason, :smallint
- end
-
- def down
- remove_column :vulnerability_feedback, :dismissal_reason
- end
-end
diff --git a/db/migrate/20201229105948_add_invisible_captcha_enabled_to_settings.rb b/db/migrate/20201229105948_add_invisible_captcha_enabled_to_settings.rb
deleted file mode 100644
index 025fcba0729..00000000000
--- a/db/migrate/20201229105948_add_invisible_captcha_enabled_to_settings.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddInvisibleCaptchaEnabledToSettings < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :application_settings, :invisible_captcha_enabled, :boolean, null: false, default: false
- end
-end
diff --git a/db/migrate/20201230161206_add_rate_limiting_response_text_to_application_settings.rb b/db/migrate/20201230161206_add_rate_limiting_response_text_to_application_settings.rb
deleted file mode 100644
index 647455f5f88..00000000000
--- a/db/migrate/20201230161206_add_rate_limiting_response_text_to_application_settings.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-# frozen_string_literal: true
-
-class AddRateLimitingResponseTextToApplicationSettings < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- # rubocop:disable Migration/AddLimitToTextColumns
- # limit is added in 20210101110640_set_limit_for_rate_limiting_response_text
- def change
- add_column :application_settings, :rate_limiting_response_text, :text
- end
- # rubocop:enable Migration/AddLimitToTextColumns
-end
diff --git a/db/migrate/20201230180202_create_onboarding_progress.rb b/db/migrate/20201230180202_create_onboarding_progress.rb
deleted file mode 100644
index b9fe64eb19d..00000000000
--- a/db/migrate/20201230180202_create_onboarding_progress.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-# frozen_string_literal: true
-
-class CreateOnboardingProgress < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- create_table :onboarding_progresses do |t|
- t.references :namespace, null: false, index: { unique: true }, foreign_key: { on_delete: :cascade }
- t.timestamps_with_timezone null: false
- t.datetime_with_timezone :git_pull_at
- t.datetime_with_timezone :git_write_at
- t.datetime_with_timezone :merge_request_created_at
- t.datetime_with_timezone :pipeline_created_at
- t.datetime_with_timezone :user_added_at
- t.datetime_with_timezone :trial_started_at
- t.datetime_with_timezone :subscription_created_at
- t.datetime_with_timezone :required_mr_approvals_enabled_at
- t.datetime_with_timezone :code_owners_enabled_at
- t.datetime_with_timezone :scoped_label_created_at
- t.datetime_with_timezone :security_scan_enabled_at
- t.datetime_with_timezone :issue_auto_closed_at
- t.datetime_with_timezone :repository_imported_at
- t.datetime_with_timezone :repository_mirrored_at
- end
- end
- end
-
- def down
- with_lock_retries do
- drop_table :onboarding_progresses
- end
- end
-end
diff --git a/db/migrate/20210101110640_set_limit_for_rate_limiting_response_text.rb b/db/migrate/20210101110640_set_limit_for_rate_limiting_response_text.rb
deleted file mode 100644
index b72f2ae7d70..00000000000
--- a/db/migrate/20210101110640_set_limit_for_rate_limiting_response_text.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# frozen_string_literal: true
-
-class SetLimitForRateLimitingResponseText < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_text_limit :application_settings, :rate_limiting_response_text, 255
- end
-
- def down
- remove_text_limit :application_settings, :rate_limiting_response_text
- end
-end
diff --git a/db/migrate/20210102164121_drop_temporary_index_on_ci_builds.rb b/db/migrate/20210102164121_drop_temporary_index_on_ci_builds.rb
deleted file mode 100644
index 9c99414792e..00000000000
--- a/db/migrate/20210102164121_drop_temporary_index_on_ci_builds.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class DropTemporaryIndexOnCiBuilds < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX = 'tmp_build_stage_position_index'
-
- def up
- remove_concurrent_index_by_name :ci_builds, INDEX
- end
-
- def down
- add_concurrent_index :ci_builds, [:stage_id, :stage_idx], where: 'stage_idx IS NOT NULL', name: INDEX
- end
-end
diff --git a/db/migrate/20210104163218_add_epic_board_position_index.rb b/db/migrate/20210104163218_add_epic_board_position_index.rb
deleted file mode 100644
index 32c829f0288..00000000000
--- a/db/migrate/20210104163218_add_epic_board_position_index.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class AddEpicBoardPositionIndex < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = 'index_boards_epic_board_positions_on_scoped_relative_position'
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_index :boards_epic_board_positions, [:epic_board_id, :epic_id, :relative_position], name: INDEX_NAME
- end
-
- def down
- remove_concurrent_index_by_name :boards_epic_board_positions, INDEX_NAME
- end
-end
diff --git a/db/migrate/20210105052034_rename_asset_proxy_whitelist_on_application_settings.rb b/db/migrate/20210105052034_rename_asset_proxy_whitelist_on_application_settings.rb
deleted file mode 100644
index cdfbd368070..00000000000
--- a/db/migrate/20210105052034_rename_asset_proxy_whitelist_on_application_settings.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-# frozen_string_literal: true
-
-class RenameAssetProxyWhitelistOnApplicationSettings < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers::V2
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- rename_column_concurrently :application_settings,
- :asset_proxy_whitelist,
- :asset_proxy_allowlist
- end
-
- def down
- undo_rename_column_concurrently :application_settings,
- :asset_proxy_whitelist,
- :asset_proxy_allowlist
- end
-end
diff --git a/db/migrate/20210105153342_add_entity_columns_to_vulnerability_occurrences.rb b/db/migrate/20210105153342_add_entity_columns_to_vulnerability_occurrences.rb
deleted file mode 100644
index 3b5ffff7645..00000000000
--- a/db/migrate/20210105153342_add_entity_columns_to_vulnerability_occurrences.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# frozen_string_literal: true
-
-class AddEntityColumnsToVulnerabilityOccurrences < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- # rubocop:disable Migration/AddLimitToTextColumns
- # limit is added in 20200501000002_add_text_limit_to_sprints_extended_title
- def change
- add_column :vulnerability_occurrences, :description, :text
- add_column :vulnerability_occurrences, :message, :text
- add_column :vulnerability_occurrences, :solution, :text
- add_column :vulnerability_occurrences, :cve, :text
- add_column :vulnerability_occurrences, :location, :jsonb
- end
- # rubocop:enable Migration/AddLimitToTextColumns
-end
diff --git a/db/migrate/20210105154321_add_text_limit_to_vulnerability_occurrences_entity_columns.rb b/db/migrate/20210105154321_add_text_limit_to_vulnerability_occurrences_entity_columns.rb
deleted file mode 100644
index c2e138303d8..00000000000
--- a/db/migrate/20210105154321_add_text_limit_to_vulnerability_occurrences_entity_columns.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-# frozen_string_literal: true
-
-class AddTextLimitToVulnerabilityOccurrencesEntityColumns < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_text_limit :vulnerability_occurrences, :description, 15000
- add_text_limit :vulnerability_occurrences, :message, 3000
- add_text_limit :vulnerability_occurrences, :solution, 7000
- add_text_limit :vulnerability_occurrences, :cve, 48400
- end
-
- def down
- remove_text_limit :vulnerability_occurrences, :description
- remove_text_limit :vulnerability_occurrences, :message
- remove_text_limit :vulnerability_occurrences, :solution
- remove_text_limit :vulnerability_occurrences, :cve
- end
-end
diff --git a/db/migrate/20210106061254_add_unique_index_for_golang_packages.rb b/db/migrate/20210106061254_add_unique_index_for_golang_packages.rb
deleted file mode 100644
index 44237699fda..00000000000
--- a/db/migrate/20210106061254_add_unique_index_for_golang_packages.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-class AddUniqueIndexForGolangPackages < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- INDEX_NAME = 'index_packages_on_project_id_name_version_unique_when_golang'
- PACKAGE_TYPE_GOLANG = 8
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_index :packages_packages, [:project_id, :name, :version], unique: true, where: "package_type = #{PACKAGE_TYPE_GOLANG}", name: INDEX_NAME
- end
-
- def down
- remove_concurrent_index_by_name(:packages_packages, INDEX_NAME)
- end
-end
diff --git a/db/migrate/20210106153021_drop_tmp_index_on_emails.rb b/db/migrate/20210106153021_drop_tmp_index_on_emails.rb
deleted file mode 100644
index 94b4a5437af..00000000000
--- a/db/migrate/20210106153021_drop_tmp_index_on_emails.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-class DropTmpIndexOnEmails < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- EMAIL_INDEX_NAME = 'tmp_index_for_email_unconfirmation_migration'
-
- disable_ddl_transaction!
-
- def up
- Gitlab::BackgroundMigration.steal('WrongfullyConfirmedEmailUnconfirmer')
-
- remove_concurrent_index_by_name(:emails, EMAIL_INDEX_NAME)
- end
-
- def down
- add_concurrent_index(:emails, :id, where: 'confirmed_at IS NOT NULL', name: EMAIL_INDEX_NAME)
- end
-end
diff --git a/db/migrate/20210106155209_add_merge_request_diff_commit_trailers.rb b/db/migrate/20210106155209_add_merge_request_diff_commit_trailers.rb
deleted file mode 100644
index 906efa58bcd..00000000000
--- a/db/migrate/20210106155209_add_merge_request_diff_commit_trailers.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-# 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 AddMergeRequestDiffCommitTrailers < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :merge_request_diff_commits, :trailers, :jsonb, default: {}, null: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :merge_request_diff_commits, :trailers
- end
- end
-end
diff --git a/db/migrate/20210106191305_rename_indexes_on_git_lab_com.rb b/db/migrate/20210106191305_rename_indexes_on_git_lab_com.rb
deleted file mode 100644
index 5238192e1d1..00000000000
--- a/db/migrate/20210106191305_rename_indexes_on_git_lab_com.rb
+++ /dev/null
@@ -1,57 +0,0 @@
-# frozen_string_literal: true
-
-# This migration aligns an existing database schema with what we actually expect
-# and fixes inconsistencies with index names and similar issues.
-#
-# This is intended for GitLab.com, but can be run on any instance.
-class RenameIndexesOnGitLabCom < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- rename_index_if_exists :ldap_group_links, 'ldap_groups_pkey', 'ldap_group_links_pkey'
-
- # Removes unique constraint, add unique index instead
- replace_unique_constraint_with_index :emails, :email, 'emails_email_key', 'index_emails_on_email'
- replace_unique_constraint_with_index :users, :confirmation_token, 'users_confirmation_token_key', 'index_users_on_confirmation_token'
- replace_unique_constraint_with_index :users, :reset_password_token, 'users_reset_password_token_key', 'index_users_on_reset_password_token'
- replace_unique_constraint_with_index :users, :email, 'users_email_key', 'index_users_on_email'
-
- upgrade_to_primary_key(:schema_migrations, :version, 'schema_migrations_version_key', 'schema_migrations_pkey')
- end
-
- def down
- # no-op
- end
-
- private
-
- def replace_unique_constraint_with_index(table, columns, old_name, new_name)
- return unless index_exists_by_name?(table, old_name)
-
- add_concurrent_index table, columns, unique: true, name: new_name
- execute "ALTER TABLE #{quote_table_name(table)} DROP CONSTRAINT #{quote_table_name(old_name)}"
- end
-
- def rename_index_if_exists(table, old_name, new_name)
- return unless index_exists_by_name?(table, old_name)
- return if index_exists_by_name?(table, new_name)
-
- with_lock_retries do
- rename_index table, old_name, new_name
- end
- end
-
- def upgrade_to_primary_key(table, column, old_name, new_name)
- return unless index_exists_by_name?(table, old_name)
- return if index_exists_by_name?(table, new_name)
-
- return if primary_key(table)
-
- execute "ALTER TABLE #{quote_table_name(table)} ADD CONSTRAINT #{new_name} PRIMARY KEY (#{column})"
- execute "ALTER TABLE #{quote_table_name(table)} DROP CONSTRAINT #{old_name}"
- end
-end
diff --git a/db/migrate/20210106225424_add_keep_latest_artifacts_to_application_settings.rb b/db/migrate/20210106225424_add_keep_latest_artifacts_to_application_settings.rb
deleted file mode 100644
index 884159ddedb..00000000000
--- a/db/migrate/20210106225424_add_keep_latest_artifacts_to_application_settings.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-class AddKeepLatestArtifactsToApplicationSettings < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- # This is named keep_latest_artifact for consistency with the project level setting but
- # turning it on keeps all (multiple) artifacts on the latest pipeline per ref
- add_column :application_settings, :keep_latest_artifact, :boolean, default: true, null: false
- end
-end
diff --git a/db/migrate/20210107105306_add_diff_type_to_merge_request_diffs.rb b/db/migrate/20210107105306_add_diff_type_to_merge_request_diffs.rb
deleted file mode 100644
index 0b9b5e93054..00000000000
--- a/db/migrate/20210107105306_add_diff_type_to_merge_request_diffs.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-# frozen_string_literal: true
-
-class AddDiffTypeToMergeRequestDiffs < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- UNIQUE_INDEX_NAME = 'index_merge_request_diffs_on_unique_merge_request_id'
-
- def up
- unless column_exists?(:merge_request_diffs, :diff_type)
- with_lock_retries do
- add_column :merge_request_diffs, :diff_type, :integer, null: false, limit: 2, default: 1
- end
- end
-
- add_concurrent_index :merge_request_diffs, :merge_request_id, unique: true, where: 'diff_type = 2', name: UNIQUE_INDEX_NAME
- end
-
- def down
- remove_concurrent_index_by_name(:merge_request_diffs, UNIQUE_INDEX_NAME)
-
- if column_exists?(:merge_request_diffs, :diff_type)
- with_lock_retries do
- remove_column :merge_request_diffs, :diff_type
- end
- end
- end
-end
diff --git a/db/migrate/20210107154615_add_merge_request_context_commit_trailers.rb b/db/migrate/20210107154615_add_merge_request_context_commit_trailers.rb
deleted file mode 100644
index e7bd7c2ea56..00000000000
--- a/db/migrate/20210107154615_add_merge_request_context_commit_trailers.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 AddMergeRequestContextCommitTrailers < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :merge_request_context_commits, :trailers, :jsonb, default: {}, null: false
- end
-end
diff --git a/db/migrate/20210108161039_update_max_import_size_default.rb b/db/migrate/20210108161039_update_max_import_size_default.rb
deleted file mode 100644
index 5f0591b2766..00000000000
--- a/db/migrate/20210108161039_update_max_import_size_default.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class UpdateMaxImportSizeDefault < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- change_column_default(:application_settings, :max_import_size, from: 50, to: 0)
- end
-end
diff --git a/db/migrate/20210111051045_create_dast_profiles.rb b/db/migrate/20210111051045_create_dast_profiles.rb
deleted file mode 100644
index f2667e1222e..00000000000
--- a/db/migrate/20210111051045_create_dast_profiles.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-# frozen_string_literal: true
-
-class CreateDastProfiles < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- table_comment = { owner: 'group::dynamic analysis', description: 'Profile used to run a DAST on-demand scan' }
-
- create_table_with_constraints :dast_profiles, comment: table_comment.to_json do |t| # rubocop:disable Migration/AddLimitToTextColumns
- t.references :project, null: false, foreign_key: false, index: false
- t.references :dast_site_profile, null: false, foreign_key: { on_delete: :cascade }
- t.references :dast_scanner_profile, null: false, foreign_key: { on_delete: :cascade }
-
- t.timestamps_with_timezone
-
- # rubocop:disable Migration/AddLimitToTextColumns
- t.text :name, null: false
- t.text :description, null: false
- # rubocop:enable Migration/AddLimitToTextColumns
-
- t.index [:project_id, :name], unique: true
-
- t.text_limit :name, 255
- t.text_limit :description, 255
- end
- end
-
- def down
- with_lock_retries do
- drop_table :dast_profiles
- end
- end
-end
diff --git a/db/migrate/20210111053308_add_project_fk_for_dast_profile.rb b/db/migrate/20210111053308_add_project_fk_for_dast_profile.rb
deleted file mode 100644
index 5dc057b5f70..00000000000
--- a/db/migrate/20210111053308_add_project_fk_for_dast_profile.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddProjectFkForDastProfile < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_foreign_key :dast_profiles, :projects, column: :project_id, on_delete: :cascade
- end
-
- def down
- with_lock_retries do
- remove_foreign_key :dast_profiles, column: :project_id
- end
- end
-end
diff --git a/db/migrate/20210111075104_add_temporary_index_on_security_findings_scan_id.rb b/db/migrate/20210111075104_add_temporary_index_on_security_findings_scan_id.rb
deleted file mode 100644
index a8f4e130f07..00000000000
--- a/db/migrate/20210111075104_add_temporary_index_on_security_findings_scan_id.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class AddTemporaryIndexOnSecurityFindingsScanId < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = 'tmp_index_on_security_findings_scan_id'
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_index :security_findings, :scan_id, where: 'uuid is null', name: INDEX_NAME
- end
-
- def down
- remove_concurrent_index_by_name :security_findings, INDEX_NAME
- end
-end
diff --git a/db/migrate/20210112084512_drop_tmp_index_on_emails_again.rb b/db/migrate/20210112084512_drop_tmp_index_on_emails_again.rb
deleted file mode 100644
index 6c2f9cbcb32..00000000000
--- a/db/migrate/20210112084512_drop_tmp_index_on_emails_again.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class DropTmpIndexOnEmailsAgain < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- EMAIL_INDEX_NAME = 'tmp_index_for_email_unconfirmation_migration'
-
- disable_ddl_transaction!
-
- def up
- remove_concurrent_index_by_name(:emails, EMAIL_INDEX_NAME)
- end
-
- def down
- add_concurrent_index(:emails, :id, where: 'confirmed_at IS NOT NULL', name: EMAIL_INDEX_NAME)
- end
-end
diff --git a/db/migrate/20210112202949_create_composer_cache_file.rb b/db/migrate/20210112202949_create_composer_cache_file.rb
deleted file mode 100644
index b1c2a1608dd..00000000000
--- a/db/migrate/20210112202949_create_composer_cache_file.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-# frozen_string_literal: true
-
-class CreateComposerCacheFile < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- # rubocop:disable Migration/AddLimitToTextColumns
- create_table_with_constraints :packages_composer_cache_files do |t|
- t.timestamps_with_timezone
-
- # record can be deleted after `delete_at`
- t.datetime_with_timezone :delete_at
-
- # which namespace it belongs to
- t.integer :namespace_id, null: true
-
- # file storage related fields
- t.integer :file_store, limit: 2, null: false, default: 1
- t.text :file, null: false
- t.binary :file_sha256, null: false
-
- t.index [:namespace_id, :file_sha256], name: "index_packages_composer_cache_namespace_and_sha", using: :btree, unique: true
- t.foreign_key :namespaces, column: :namespace_id, on_delete: :nullify
-
- t.text_limit :file, 255
- end
- end
-
- def down
- drop_table :packages_composer_cache_files
- end
-end
diff --git a/db/migrate/20210113224909_add_pipeline_configuration_full_path_to_compliance_pipeline.rb b/db/migrate/20210113224909_add_pipeline_configuration_full_path_to_compliance_pipeline.rb
deleted file mode 100644
index 408d0579031..00000000000
--- a/db/migrate/20210113224909_add_pipeline_configuration_full_path_to_compliance_pipeline.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# frozen_string_literal: true
-
-class AddPipelineConfigurationFullPathToCompliancePipeline < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- # rubocop:disable Migration/AddLimitToTextColumns
- # limit is added in 20210119162812_add_text_limit_to_compliance_pipeline_configuration_full_path.rb
- def up
- add_column :compliance_management_frameworks, :pipeline_configuration_full_path, :text
- end
- # rubocop:enable Migration/AddLimitToTextColumns
-
- def down
- remove_column :compliance_management_frameworks, :pipeline_configuration_full_path
- end
-end
diff --git a/db/migrate/20210113231532_add_converted_at_to_experiment_subjects.rb b/db/migrate/20210113231532_add_converted_at_to_experiment_subjects.rb
deleted file mode 100644
index 25571b25af9..00000000000
--- a/db/migrate/20210113231532_add_converted_at_to_experiment_subjects.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddConvertedAtToExperimentSubjects < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :experiment_subjects, :converted_at, :datetime_with_timezone
- end
-end
diff --git a/db/migrate/20210113231546_add_context_to_experiment_subjects.rb b/db/migrate/20210113231546_add_context_to_experiment_subjects.rb
deleted file mode 100644
index 7fac45e9952..00000000000
--- a/db/migrate/20210113231546_add_context_to_experiment_subjects.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddContextToExperimentSubjects < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :experiment_subjects, :context, :jsonb, default: {}, null: false
- end
-end
diff --git a/db/migrate/20210114033715_remove_group_id_title_index.rb b/db/migrate/20210114033715_remove_group_id_title_index.rb
deleted file mode 100644
index 8d63da3d400..00000000000
--- a/db/migrate/20210114033715_remove_group_id_title_index.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-class RemoveGroupIdTitleIndex < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'index_labels_on_group_id_and_title_with_null_project_id'
- LABELS_TABLE = :labels
-
- def up
- remove_concurrent_index_by_name LABELS_TABLE, INDEX_NAME
- end
-
- def down
- add_concurrent_index LABELS_TABLE, [:group_id, :title], where: 'project_id IS NULL', name: INDEX_NAME
- end
-end
diff --git a/db/migrate/20210114142443_add_indexes_to_onboarding_progresses.rb b/db/migrate/20210114142443_add_indexes_to_onboarding_progresses.rb
deleted file mode 100644
index 39964047e7f..00000000000
--- a/db/migrate/20210114142443_add_indexes_to_onboarding_progresses.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-# frozen_string_literal: true
-
-class AddIndexesToOnboardingProgresses < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- CREATE_TRACK_INDEX_NAME = 'index_onboarding_progresses_for_create_track'
- VERIFY_TRACK_INDEX_NAME = 'index_onboarding_progresses_for_verify_track'
- TRIAL_TRACK_INDEX_NAME = 'index_onboarding_progresses_for_trial_track'
- TEAM_TRACK_INDEX_NAME = 'index_onboarding_progresses_for_team_track'
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_index :onboarding_progresses, :created_at, where: 'git_write_at IS NULL', name: CREATE_TRACK_INDEX_NAME
- add_concurrent_index :onboarding_progresses, :git_write_at, where: 'git_write_at IS NOT NULL AND pipeline_created_at IS NULL', name: VERIFY_TRACK_INDEX_NAME
- add_concurrent_index :onboarding_progresses, 'GREATEST(git_write_at, pipeline_created_at)', where: 'git_write_at IS NOT NULL AND pipeline_created_at IS NOT NULL AND trial_started_at IS NULL', name: TRIAL_TRACK_INDEX_NAME
- add_concurrent_index :onboarding_progresses, 'GREATEST(git_write_at, pipeline_created_at, trial_started_at)', where: 'git_write_at IS NOT NULL AND pipeline_created_at IS NOT NULL AND trial_started_at IS NOT NULL AND user_added_at IS NULL', name: TEAM_TRACK_INDEX_NAME
- end
-
- def down
- remove_concurrent_index_by_name :onboarding_progresses, CREATE_TRACK_INDEX_NAME
- remove_concurrent_index_by_name :onboarding_progresses, VERIFY_TRACK_INDEX_NAME
- remove_concurrent_index_by_name :onboarding_progresses, TRIAL_TRACK_INDEX_NAME
- remove_concurrent_index_by_name :onboarding_progresses, TEAM_TRACK_INDEX_NAME
- end
-end
diff --git a/db/migrate/20210115090452_create_group_repository_storage_move.rb b/db/migrate/20210115090452_create_group_repository_storage_move.rb
deleted file mode 100644
index bd168dce5ac..00000000000
--- a/db/migrate/20210115090452_create_group_repository_storage_move.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-# frozen_string_literal: true
-
-class CreateGroupRepositoryStorageMove < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- unless table_exists?(:group_repository_storage_moves)
- with_lock_retries do
- create_table :group_repository_storage_moves do |t|
- t.timestamps_with_timezone
- t.references :group, references: :namespace, column: :group_id, index: true, null: false
- t.integer :state, limit: 2, default: 1, null: false
- t.text :source_storage_name, null: false
- t.text :destination_storage_name, null: false
-
- t.foreign_key :namespaces, column: :group_id, on_delete: :cascade
- end
- end
- end
-
- add_text_limit(:group_repository_storage_moves, :source_storage_name, 255, constraint_name: 'group_repository_storage_moves_source_storage_name')
- add_text_limit(:group_repository_storage_moves, :destination_storage_name, 255, constraint_name: 'group_repository_storage_moves_destination_storage_name')
- end
-
- def down
- with_lock_retries do
- drop_table :group_repository_storage_moves
- end
- end
-end
diff --git a/db/migrate/20210117210226_add_has_external_issue_tracker_trigger.rb b/db/migrate/20210117210226_add_has_external_issue_tracker_trigger.rb
deleted file mode 100644
index 20fe0ee0fd1..00000000000
--- a/db/migrate/20210117210226_add_has_external_issue_tracker_trigger.rb
+++ /dev/null
@@ -1,61 +0,0 @@
-# frozen_string_literal: true
-
-class AddHasExternalIssueTrackerTrigger < ActiveRecord::Migration[6.0]
- include Gitlab::Database::SchemaHelpers
-
- DOWNTIME = false
- FUNCTION_NAME = 'set_has_external_issue_tracker'
- TRIGGER_ON_INSERT_NAME = 'trigger_has_external_issue_tracker_on_insert'
- TRIGGER_ON_UPDATE_NAME = 'trigger_has_external_issue_tracker_on_update'
- TRIGGER_ON_DELETE_NAME = 'trigger_has_external_issue_tracker_on_delete'
-
- def up
- create_trigger_function(FUNCTION_NAME, replace: true) do
- <<~SQL
- UPDATE projects SET has_external_issue_tracker = (
- EXISTS
- (
- SELECT 1
- FROM services
- WHERE project_id = COALESCE(NEW.project_id, OLD.project_id)
- AND active = TRUE
- AND category = 'issue_tracker'
- )
- )
- WHERE projects.id = COALESCE(NEW.project_id, OLD.project_id);
- RETURN NULL;
- SQL
- end
-
- execute(<<~SQL)
- CREATE TRIGGER #{TRIGGER_ON_INSERT_NAME}
- AFTER INSERT ON services
- FOR EACH ROW
- WHEN (NEW.category = 'issue_tracker' AND NEW.active = TRUE AND NEW.project_id IS NOT NULL)
- EXECUTE FUNCTION #{FUNCTION_NAME}();
- SQL
-
- execute(<<~SQL)
- CREATE TRIGGER #{TRIGGER_ON_UPDATE_NAME}
- AFTER UPDATE ON services
- FOR EACH ROW
- WHEN (NEW.category = 'issue_tracker' AND OLD.active != NEW.active AND NEW.project_id IS NOT NULL)
- EXECUTE FUNCTION #{FUNCTION_NAME}();
- SQL
-
- execute(<<~SQL)
- CREATE TRIGGER #{TRIGGER_ON_DELETE_NAME}
- AFTER DELETE ON services
- FOR EACH ROW
- WHEN (OLD.category = 'issue_tracker' AND OLD.active = TRUE AND OLD.project_id IS NOT NULL)
- EXECUTE FUNCTION #{FUNCTION_NAME}();
- SQL
- end
-
- def down
- drop_trigger(:services, TRIGGER_ON_INSERT_NAME)
- drop_trigger(:services, TRIGGER_ON_UPDATE_NAME)
- drop_trigger(:services, TRIGGER_ON_DELETE_NAME)
- drop_function(FUNCTION_NAME)
- end
-end
diff --git a/db/migrate/20210118111307_add_enforce_ssh_key_expiration_to_application_settings.rb b/db/migrate/20210118111307_add_enforce_ssh_key_expiration_to_application_settings.rb
deleted file mode 100644
index fd1ed4f207b..00000000000
--- a/db/migrate/20210118111307_add_enforce_ssh_key_expiration_to_application_settings.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddEnforceSshKeyExpirationToApplicationSettings < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :application_settings, :enforce_ssh_key_expiration, :boolean, default: false, null: false
- end
-end
diff --git a/db/migrate/20210119153801_add_proxy_settings_to_jira_tracker_data.rb b/db/migrate/20210119153801_add_proxy_settings_to_jira_tracker_data.rb
deleted file mode 100644
index 237ea25554d..00000000000
--- a/db/migrate/20210119153801_add_proxy_settings_to_jira_tracker_data.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# frozen_string_literal: true
-
-class AddProxySettingsToJiraTrackerData < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :jira_tracker_data, :encrypted_proxy_address, :text
- add_column :jira_tracker_data, :encrypted_proxy_address_iv, :text
- add_column :jira_tracker_data, :encrypted_proxy_port, :text
- add_column :jira_tracker_data, :encrypted_proxy_port_iv, :text
- add_column :jira_tracker_data, :encrypted_proxy_username, :text
- add_column :jira_tracker_data, :encrypted_proxy_username_iv, :text
- add_column :jira_tracker_data, :encrypted_proxy_password, :text
- add_column :jira_tracker_data, :encrypted_proxy_password_iv, :text
- end
-end
diff --git a/db/migrate/20210119162812_add_text_limit_to_compliance_pipeline_configuration_full_path.rb b/db/migrate/20210119162812_add_text_limit_to_compliance_pipeline_configuration_full_path.rb
deleted file mode 100644
index 2958dc8d0ec..00000000000
--- a/db/migrate/20210119162812_add_text_limit_to_compliance_pipeline_configuration_full_path.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-# frozen_string_literal: true
-
-class AddTextLimitToCompliancePipelineConfigurationFullPath < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_text_limit :compliance_management_frameworks, :pipeline_configuration_full_path, 255
- end
-
- def down
- remove_text_limit :compliance_management_frameworks, :pipeline_configuration_full_path
- end
-end
diff --git a/db/migrate/20210120180956_extend_index_on_ci_builds_metadata.rb b/db/migrate/20210120180956_extend_index_on_ci_builds_metadata.rb
deleted file mode 100644
index 421a2fac1ae..00000000000
--- a/db/migrate/20210120180956_extend_index_on_ci_builds_metadata.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-# frozen_string_literal: true
-
-class ExtendIndexOnCiBuildsMetadata < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- OLD_INDEX = :index_ci_builds_metadata_on_build_id_and_interruptible
- NEW_INDEX = :index_ci_builds_metadata_on_build_id_and_id_and_interruptible
-
- TABLE = :ci_builds_metadata
-
- def up
- create_covering_index(TABLE, NEW_INDEX)
-
- remove_concurrent_index_by_name TABLE, OLD_INDEX
- end
-
- def down
- add_concurrent_index TABLE, :build_id, where: 'interruptible = true', name: OLD_INDEX
-
- remove_concurrent_index_by_name TABLE, NEW_INDEX
- end
-
- private
-
- def create_covering_index(table, name)
- return if index_exists_by_name?(table, name)
-
- disable_statement_timeout do
- execute <<~SQL
- CREATE INDEX CONCURRENTLY #{name}
- ON #{table} (build_id) INCLUDE (id)
- WHERE interruptible = true
- SQL
- end
- end
-end
diff --git a/db/migrate/20210120221743_delete_oauth_applications_tmp_index.rb b/db/migrate/20210120221743_delete_oauth_applications_tmp_index.rb
deleted file mode 100644
index d29e63ba5da..00000000000
--- a/db/migrate/20210120221743_delete_oauth_applications_tmp_index.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class DeleteOauthApplicationsTmpIndex < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = 'tmp_index_oauth_applications_on_id_where_trusted'
-
- disable_ddl_transaction!
-
- def up
- remove_concurrent_index_by_name :oauth_applications, INDEX_NAME
- end
-
- def down
- add_concurrent_index :oauth_applications, :id, where: 'trusted = true', name: INDEX_NAME
- end
-end
diff --git a/db/migrate/20210121093618_remove_repository_read_only_to_groups.rb b/db/migrate/20210121093618_remove_repository_read_only_to_groups.rb
deleted file mode 100644
index 0b353ba5d88..00000000000
--- a/db/migrate/20210121093618_remove_repository_read_only_to_groups.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-# frozen_string_literal: true
-
-class RemoveRepositoryReadOnlyToGroups < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- if column_exists?(:namespaces, :repository_read_only)
- with_lock_retries do
- remove_column :namespaces, :repository_read_only # rubocop:disable Migration/RemoveColumn
- end
- end
- end
-
- def down
- unless column_exists?(:namespaces, :repository_read_only)
- with_lock_retries do
- add_column :namespaces, :repository_read_only, :boolean, default: false, null: false # rubocop:disable Migration/AddColumnsToWideTables
- end
- end
- end
-end
diff --git a/db/migrate/20210121100038_add_devops_adoption_group_segment.rb b/db/migrate/20210121100038_add_devops_adoption_group_segment.rb
deleted file mode 100644
index 619657e7f56..00000000000
--- a/db/migrate/20210121100038_add_devops_adoption_group_segment.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class AddDevopsAdoptionGroupSegment < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_column :analytics_devops_adoption_segments, :namespace_id, :integer, if_not_exists: true
- add_concurrent_index :analytics_devops_adoption_segments, :namespace_id, unique: true
- end
-
- def down
- remove_column :analytics_devops_adoption_segments, :namespace_id
- end
-end
diff --git a/db/migrate/20210121121102_optional_devops_adoption_segment_name.rb b/db/migrate/20210121121102_optional_devops_adoption_segment_name.rb
deleted file mode 100644
index d7fda093cfc..00000000000
--- a/db/migrate/20210121121102_optional_devops_adoption_segment_name.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-# frozen_string_literal: true
-
-class OptionalDevopsAdoptionSegmentName < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'index_analytics_devops_adoption_segments_on_name'
-
- def up
- change_column_null :analytics_devops_adoption_segments, :name, true
- remove_concurrent_index_by_name :analytics_devops_adoption_segments, INDEX_NAME
- end
-
- def down
- transaction do
- execute "DELETE FROM analytics_devops_adoption_segments WHERE name IS NULL"
- change_column_null :analytics_devops_adoption_segments, :name, false
- end
- add_concurrent_index :analytics_devops_adoption_segments, :name, unique: true, name: INDEX_NAME
- end
-end
diff --git a/db/migrate/20210122073805_add_repository_read_only_to_namespace_settings.rb b/db/migrate/20210122073805_add_repository_read_only_to_namespace_settings.rb
deleted file mode 100644
index f6479bdb3a4..00000000000
--- a/db/migrate/20210122073805_add_repository_read_only_to_namespace_settings.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddRepositoryReadOnlyToNamespaceSettings < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :namespace_settings, :repository_read_only, :boolean, default: false, null: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :namespace_settings, :repository_read_only
- end
- end
-end
diff --git a/db/migrate/20210122153259_add_state_to_merge_request_reviewers.rb b/db/migrate/20210122153259_add_state_to_merge_request_reviewers.rb
deleted file mode 100644
index dd0c98615f7..00000000000
--- a/db/migrate/20210122153259_add_state_to_merge_request_reviewers.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-class AddStateToMergeRequestReviewers < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- REVIEW_DEFAULT_STATE = 0
-
- def change
- add_column :merge_request_reviewers, :state, :smallint, default: REVIEW_DEFAULT_STATE, null: false
- end
-end
diff --git a/db/migrate/20210122155158_add_pipeline_step_to_bulk_imports_failures.rb b/db/migrate/20210122155158_add_pipeline_step_to_bulk_imports_failures.rb
deleted file mode 100644
index 749e0b16eaf..00000000000
--- a/db/migrate/20210122155158_add_pipeline_step_to_bulk_imports_failures.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# frozen_string_literal: true
-
-class AddPipelineStepToBulkImportsFailures < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- unless column_exists?(:bulk_import_failures, :pipeline_step, :text)
- with_lock_retries do
- add_column :bulk_import_failures, :pipeline_step, :text
- end
- end
-
- add_text_limit :bulk_import_failures, :pipeline_step, 255
- end
-
- def down
- with_lock_retries do
- remove_column :bulk_import_failures, :pipeline_step
- end
- end
-end
diff --git a/db/migrate/20210125105410_add_devops_adoption_segment_namespace_fk.rb b/db/migrate/20210125105410_add_devops_adoption_segment_namespace_fk.rb
deleted file mode 100644
index c7c18ae69d0..00000000000
--- a/db/migrate/20210125105410_add_devops_adoption_segment_namespace_fk.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-# frozen_string_literal: true
-
-class AddDevopsAdoptionSegmentNamespaceFk < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_foreign_key :analytics_devops_adoption_segments, :namespaces, column: :namespace_id
- end
-
- def down
- remove_foreign_key_if_exists :analytics_devops_adoption_segments, :namespaces, column: :namespace_id
- end
-end
diff --git a/db/migrate/20210126030249_add_security_dashboard_access_level_into_project_features.rb b/db/migrate/20210126030249_add_security_dashboard_access_level_into_project_features.rb
deleted file mode 100644
index cd325747282..00000000000
--- a/db/migrate/20210126030249_add_security_dashboard_access_level_into_project_features.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-class AddSecurityDashboardAccessLevelIntoProjectFeatures < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- PRIVATE_ACCESS_LEVEL = 10
-
- def up
- with_lock_retries do
- add_column :project_features, :security_and_compliance_access_level, :integer, default: PRIVATE_ACCESS_LEVEL, null: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :project_features, :security_and_compliance_access_level
- end
- end
-end
diff --git a/db/migrate/20210126091713_add_unique_index_services_project_id_and_type.rb b/db/migrate/20210126091713_add_unique_index_services_project_id_and_type.rb
deleted file mode 100644
index 272dca70a8b..00000000000
--- a/db/migrate/20210126091713_add_unique_index_services_project_id_and_type.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddUniqueIndexServicesProjectIdAndType < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'index_services_on_project_id_and_type_unique'
-
- def up
- add_concurrent_index :services, [:project_id, :type], name: INDEX_NAME, unique: true
- end
-
- def down
- remove_concurrent_index_by_name :services, name: INDEX_NAME
- end
-end
diff --git a/db/migrate/20210126092102_remove_index_services_project_id_and_type.rb b/db/migrate/20210126092102_remove_index_services_project_id_and_type.rb
deleted file mode 100644
index 49780d03b7b..00000000000
--- a/db/migrate/20210126092102_remove_index_services_project_id_and_type.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-class RemoveIndexServicesProjectIdAndType < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'index_services_on_project_id_and_type'
-
- # Replaced by the index added in 20210126091713_add_unique_index_services_project_id_and_type.rb
- def up
- remove_concurrent_index_by_name :services, name: INDEX_NAME
- end
-
- def down
- add_concurrent_index :services, [:project_id, :type], name: INDEX_NAME
- end
-end
diff --git a/db/migrate/20210126233608_add_rubygems_max_file_size_to_plan_limits.rb b/db/migrate/20210126233608_add_rubygems_max_file_size_to_plan_limits.rb
deleted file mode 100644
index e0e7e773d17..00000000000
--- a/db/migrate/20210126233608_add_rubygems_max_file_size_to_plan_limits.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddRubygemsMaxFileSizeToPlanLimits < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :plan_limits, :rubygems_max_file_size, :bigint, default: 3.gigabytes, null: false
- end
-end
diff --git a/db/migrate/20210127052226_add_subgroup_events_to_web_hooks.rb b/db/migrate/20210127052226_add_subgroup_events_to_web_hooks.rb
deleted file mode 100644
index fe2b2ef412d..00000000000
--- a/db/migrate/20210127052226_add_subgroup_events_to_web_hooks.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddSubgroupEventsToWebHooks < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :web_hooks, :subgroup_events, :boolean, null: false, default: false
- end
-end
diff --git a/db/migrate/20210127143025_add_oldest_merge_requests_index.rb b/db/migrate/20210127143025_add_oldest_merge_requests_index.rb
deleted file mode 100644
index c25e12d89af..00000000000
--- a/db/migrate/20210127143025_add_oldest_merge_requests_index.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-# frozen_string_literal: true
-
-class AddOldestMergeRequestsIndex < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def up
- # replaced by db/migrate/20210201140434_add_oldest_merge_requests_index_again.rb
- end
-
- def down
- # replaced by db/migrate/20210201140434_add_oldest_merge_requests_index_again.rb
- end
-end
diff --git a/db/migrate/20210127152613_add_iterations_cadence_date_range_constraint.rb b/db/migrate/20210127152613_add_iterations_cadence_date_range_constraint.rb
deleted file mode 100644
index 95ecd167076..00000000000
--- a/db/migrate/20210127152613_add_iterations_cadence_date_range_constraint.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-# frozen_string_literal: true
-
-class AddIterationsCadenceDateRangeConstraint < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- execute <<~SQL
- 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
-
- def down
- with_lock_retries do
- execute <<~SQL
- ALTER TABLE sprints
- DROP CONSTRAINT IF EXISTS iteration_start_and_due_date_iterations_cadence_id_constraint
- SQL
- end
- end
-end
diff --git a/db/migrate/20210127202613_remove_iteration_group_date_range_constraint.rb b/db/migrate/20210127202613_remove_iteration_group_date_range_constraint.rb
deleted file mode 100644
index e6c5eb1b411..00000000000
--- a/db/migrate/20210127202613_remove_iteration_group_date_range_constraint.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-# frozen_string_literal: true
-
-class RemoveIterationGroupDateRangeConstraint < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- execute <<~SQL
- ALTER TABLE sprints
- DROP CONSTRAINT IF EXISTS iteration_start_and_due_daterange_group_id_constraint
- SQL
- end
- end
-
- def down
- with_lock_retries do
- execute <<~SQL
- ALTER TABLE sprints
- ADD CONSTRAINT iteration_start_and_due_daterange_group_id_constraint
- EXCLUDE USING gist
- ( group_id WITH =,
- daterange(start_date, due_date, '[]') WITH &&
- )
- WHERE (group_id IS NOT NULL)
- SQL
- end
- end
-end
diff --git a/db/migrate/20210128044930_add_git_two_factor_session_expiry_to_application_settings.rb b/db/migrate/20210128044930_add_git_two_factor_session_expiry_to_application_settings.rb
deleted file mode 100644
index 77a1dd2131b..00000000000
--- a/db/migrate/20210128044930_add_git_two_factor_session_expiry_to_application_settings.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddGitTwoFactorSessionExpiryToApplicationSettings < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :application_settings, :git_two_factor_session_expiry, :integer, default: 15, null: false
- end
-end
diff --git a/db/migrate/20210128101707_add_prevent_merge_without_jira_issue_to_project_settings.rb b/db/migrate/20210128101707_add_prevent_merge_without_jira_issue_to_project_settings.rb
deleted file mode 100644
index 18f186294f1..00000000000
--- a/db/migrate/20210128101707_add_prevent_merge_without_jira_issue_to_project_settings.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class AddPreventMergeWithoutJiraIssueToProjectSettings < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :project_settings, :prevent_merge_without_jira_issue, :boolean, null: false, default: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :project_settings, :prevent_merge_without_jira_issue
- end
- end
-end
diff --git a/db/migrate/20210128114526_add_auto_delete_at_to_environments.rb b/db/migrate/20210128114526_add_auto_delete_at_to_environments.rb
deleted file mode 100644
index 8f89c2f2ad0..00000000000
--- a/db/migrate/20210128114526_add_auto_delete_at_to_environments.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddAutoDeleteAtToEnvironments < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :environments, :auto_delete_at, :datetime_with_timezone
- end
- end
-
- def down
- with_lock_retries do
- remove_column :environments, :auto_delete_at
- end
- end
-end
diff --git a/db/migrate/20210128140157_add_content_type_to_dependency_proxy_manifests.rb b/db/migrate/20210128140157_add_content_type_to_dependency_proxy_manifests.rb
deleted file mode 100644
index d016e3c20e2..00000000000
--- a/db/migrate/20210128140157_add_content_type_to_dependency_proxy_manifests.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-# frozen_string_literal: true
-
-class AddContentTypeToDependencyProxyManifests < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- # rubocop:disable Migration/AddLimitToTextColumns
- # limit is added in 20210128140232_add_text_limit_to_dependency_proxy_manifests_content_type.rb
- def change
- add_column :dependency_proxy_manifests, :content_type, :text
- end
- # rubocop:enable Migration/AddLimitToTextColumns
-end
diff --git a/db/migrate/20210128140232_add_text_limit_to_dependency_proxy_manifests_content_type.rb b/db/migrate/20210128140232_add_text_limit_to_dependency_proxy_manifests_content_type.rb
deleted file mode 100644
index 035e4795ce0..00000000000
--- a/db/migrate/20210128140232_add_text_limit_to_dependency_proxy_manifests_content_type.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# frozen_string_literal: true
-
-class AddTextLimitToDependencyProxyManifestsContentType < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_text_limit :dependency_proxy_manifests, :content_type, 255
- end
-
- def down
- remove_text_limit :dependency_proxy_manifests, :content_type
- end
-end
diff --git a/db/migrate/20210128152830_create_ci_namespace_monthly_usage.rb b/db/migrate/20210128152830_create_ci_namespace_monthly_usage.rb
deleted file mode 100644
index d6ee057a56b..00000000000
--- a/db/migrate/20210128152830_create_ci_namespace_monthly_usage.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-# frozen_string_literal: true
-
-class CreateCiNamespaceMonthlyUsage < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- with_lock_retries do
- create_table :ci_namespace_monthly_usages, if_not_exists: true do |t|
- t.references :namespace, index: false, null: false
- t.date :date, null: false
- t.integer :additional_amount_available, null: false, default: 0
- t.decimal :amount_used, null: false, default: 0.0, precision: 18, scale: 2
-
- t.index [:namespace_id, :date], unique: true
- end
- end
-
- add_check_constraint :ci_namespace_monthly_usages, "(date = date_trunc('month', date))", 'ci_namespace_monthly_usages_year_month_constraint'
- end
-
- def down
- with_lock_retries do
- drop_table :ci_namespace_monthly_usages
- end
- end
-end
diff --git a/db/migrate/20210128172149_create_background_migration_tracking_tables.rb b/db/migrate/20210128172149_create_background_migration_tracking_tables.rb
deleted file mode 100644
index 767bd8737a3..00000000000
--- a/db/migrate/20210128172149_create_background_migration_tracking_tables.rb
+++ /dev/null
@@ -1,59 +0,0 @@
-# frozen_string_literal: true
-
-class CreateBackgroundMigrationTrackingTables < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def change
- create_table_with_constraints :batched_background_migrations do |t|
- t.timestamps_with_timezone
- t.bigint :min_value, null: false, default: 1
- t.bigint :max_value, null: false
- t.integer :batch_size, null: false
- t.integer :sub_batch_size, null: false
- t.integer :interval, limit: 2, null: false
- t.integer :status, limit: 2, null: false, default: 0
- t.text :job_class_name, null: false
- t.text :batch_class_name, null: false,
- default: 'Gitlab::Database::BackgroundMigration::PrimaryKeyBatchingStrategy'
- t.text :table_name, null: false
- t.text :column_name, null: false
- t.jsonb :job_arguments, null: false, default: '[]'
-
- t.text_limit :job_class_name, 100
- t.text_limit :batch_class_name, 100
- t.text_limit :table_name, 63
- t.text_limit :column_name, 63
-
- t.check_constraint :check_positive_min_value, 'min_value > 0'
- t.check_constraint :check_max_value_in_range, 'max_value >= min_value'
-
- t.check_constraint :check_positive_sub_batch_size, 'sub_batch_size > 0'
- t.check_constraint :check_batch_size_in_range, 'batch_size >= sub_batch_size'
-
- t.index %i[job_class_name table_name column_name], name: :index_batched_migrations_on_job_table_and_column_name
- end
-
- create_table :batched_background_migration_jobs do |t|
- t.timestamps_with_timezone
- t.datetime_with_timezone :started_at
- t.datetime_with_timezone :finished_at
- t.references :batched_background_migration, null: false, index: false, foreign_key: { on_delete: :cascade }
- t.bigint :min_value, null: false
- t.bigint :max_value, null: false
- t.integer :batch_size, null: false
- t.integer :sub_batch_size, null: false
- t.integer :status, limit: 2, null: false, default: 0
- t.integer :attempts, limit: 2, null: false, default: 0
-
- t.index [:batched_background_migration_id, :id], name: :index_batched_jobs_by_batched_migration_id_and_id
- end
- end
-
- def down
- drop_table :batched_background_migration_jobs
-
- drop_table :batched_background_migrations
- end
-end
diff --git a/db/migrate/20210129225244_add_index_to_oncall_shfts_on_starts_at_and_ends_at.rb b/db/migrate/20210129225244_add_index_to_oncall_shfts_on_starts_at_and_ends_at.rb
deleted file mode 100644
index 8285aceb24a..00000000000
--- a/db/migrate/20210129225244_add_index_to_oncall_shfts_on_starts_at_and_ends_at.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-# frozen_string_literal: true
-
-class AddIndexToOncallShftsOnStartsAtAndEndsAt < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- NEW_NAME = 'index_oncall_shifts_on_rotation_id_and_starts_at_and_ends_at'
- OLD_NAME = 'index_incident_management_oncall_shifts_on_rotation_id'
-
- def up
- add_concurrent_index :incident_management_oncall_shifts, %i[rotation_id starts_at ends_at], name: NEW_NAME
-
- remove_concurrent_index_by_name :incident_management_oncall_shifts, OLD_NAME
- end
-
- def down
- add_concurrent_index :incident_management_oncall_shifts, :rotation_id, name: OLD_NAME
-
- remove_concurrent_index_by_name :incident_management_oncall_shifts, NEW_NAME
- end
-end
diff --git a/db/migrate/20210201034649_add_active_periods_to_on_call_rotations.rb b/db/migrate/20210201034649_add_active_periods_to_on_call_rotations.rb
deleted file mode 100644
index 714187f60e0..00000000000
--- a/db/migrate/20210201034649_add_active_periods_to_on_call_rotations.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-# frozen_string_literal: true
-
-class AddActivePeriodsToOnCallRotations < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :incident_management_oncall_rotations, :active_period_start, :time, null: true
- add_column :incident_management_oncall_rotations, :active_period_end, :time, null: true
- end
-end
diff --git a/db/migrate/20210201140434_add_oldest_merge_requests_index_again.rb b/db/migrate/20210201140434_add_oldest_merge_requests_index_again.rb
deleted file mode 100644
index a3fed9e576a..00000000000
--- a/db/migrate/20210201140434_add_oldest_merge_requests_index_again.rb
+++ /dev/null
@@ -1,59 +0,0 @@
-# frozen_string_literal: true
-
-class AddOldestMergeRequestsIndexAgain < ActiveRecord::Migration[6.0]
- include Gitlab::Database::SchemaHelpers
- include Gitlab::Database::MigrationHelpers
-
- disable_ddl_transaction!
-
- DOWNTIME = false
-
- INDEX = 'index_on_merge_requests_for_latest_diffs'
-
- def up
- execute "DROP INDEX CONCURRENTLY #{INDEX}" if invalid_index?
-
- return if index_exists_by_name?('merge_requests', INDEX)
-
- begin
- disable_statement_timeout do
- execute "CREATE INDEX CONCURRENTLY #{INDEX} ON merge_requests " \
- 'USING btree (target_project_id) INCLUDE (id, latest_merge_request_diff_id)'
- end
- rescue ActiveRecord::StatementInvalid => ex
- # Due to https://github.com/lfittl/pg_query/issues/184, if the CREATE
- # INDEX statement fails, we trigger a separate error due to the Gem not
- # supporting the INCLUDE syntax.
- #
- # To work around this, we raise a custom error instead, as these won't
- # have a query context injected.
- raise "The index #{INDEX} couldn't be added: #{ex.message}"
- end
-
- create_comment(
- 'INDEX',
- INDEX,
- 'Index used to efficiently obtain the oldest merge request for a commit SHA'
- )
- end
-
- def down
- return unless index_exists_by_name?('merge_requests', INDEX)
-
- disable_statement_timeout do
- execute "DROP INDEX CONCURRENTLY #{INDEX}"
- end
- end
-
- def invalid_index?
- result = execute(<<~SQL)
- SELECT pg_class.relname
- FROM pg_class, pg_index
- WHERE pg_index.indisvalid = false
- AND pg_index.indexrelid = pg_class.oid
- AND pg_class.relname = '#{INDEX}';
- SQL
-
- result.values.any?
- end
-end
diff --git a/db/migrate/20210203002331_drop_backup_label_index.rb b/db/migrate/20210203002331_drop_backup_label_index.rb
deleted file mode 100644
index 430d2d0fb79..00000000000
--- a/db/migrate/20210203002331_drop_backup_label_index.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class DropBackupLabelIndex < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'backup_labels_project_id_title_idx'
-
- def up
- remove_concurrent_index_by_name(:backup_labels, name: INDEX_NAME)
- end
-
- def down
- add_concurrent_index :backup_labels, [:project_id, :title], name: INDEX_NAME, unique: true, where: 'group_id = NULL::integer'
- end
-end
diff --git a/db/migrate/20210203092540_remove_has_external_wiki_constraint.rb b/db/migrate/20210203092540_remove_has_external_wiki_constraint.rb
deleted file mode 100644
index 80b0cc11685..00000000000
--- a/db/migrate/20210203092540_remove_has_external_wiki_constraint.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-class RemoveHasExternalWikiConstraint < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- # This reverts the following migration: add_not_null_constraint :projects, :has_external_wiki, validate: false
- if check_not_null_constraint_exists?(:projects, :has_external_wiki)
- remove_not_null_constraint :projects, :has_external_wiki
- end
- end
-
- def down
- # no-op
- end
-end
diff --git a/db/migrate/20210203092549_restore_has_external_wiki_default_value.rb b/db/migrate/20210203092549_restore_has_external_wiki_default_value.rb
deleted file mode 100644
index 37111b370a5..00000000000
--- a/db/migrate/20210203092549_restore_has_external_wiki_default_value.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-# frozen_string_literal: true
-
-class RestoreHasExternalWikiDefaultValue < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- class TmpProject < ActiveRecord::Base
- self.table_name = 'projects'
- end
-
- # This reverts the following migration: change_column_default(:projects, :has_external_wiki, from: nil, to: false)
- # We only change the column when the current default value is false
- def up
- # Find out the current default value
- column = TmpProject.columns.find { |c| c.name == 'has_external_wiki' }
- return unless column
-
- if column.default == 'false'
- with_lock_retries do
- change_column_default(:projects, :has_external_wiki, from: false, to: nil)
- end
- end
- end
-
- def down
- # no-op
- end
-end
diff --git a/db/migrate/20210203221631_create_packages_rubygems_metadata.rb b/db/migrate/20210203221631_create_packages_rubygems_metadata.rb
deleted file mode 100644
index f4ad5abf7e5..00000000000
--- a/db/migrate/20210203221631_create_packages_rubygems_metadata.rb
+++ /dev/null
@@ -1,69 +0,0 @@
-# frozen_string_literal: true
-
-class CreatePackagesRubygemsMetadata < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- create_table_with_constraints :packages_rubygems_metadata, id: false do |t|
- t.timestamps_with_timezone
- t.references :package, primary_key: true, index: false, default: nil, null: false, foreign_key: { to_table: :packages_packages, on_delete: :cascade }, type: :bigint
- t.text :authors
- t.text :files
- t.text :summary
-
- t.text :description
- t.text :email
- t.text :homepage
- t.text :licenses
- t.text :metadata
-
- t.text :author
- t.text :bindir
- t.text :cert_chain
- t.text :executables
- t.text :extensions
- t.text :extra_rdoc_files
- t.text :platform
- t.text :post_install_message
- t.text :rdoc_options
- t.text :require_paths
- t.text :required_ruby_version
- t.text :required_rubygems_version
- t.text :requirements
- t.text :rubygems_version
- t.text :signing_key
-
- t.text_limit :authors, 255
- t.text_limit :files, 255
- t.text_limit :summary, 1024
-
- t.text_limit :description, 1024
- t.text_limit :email, 255
- t.text_limit :homepage, 255
- t.text_limit :licenses, 255
- t.text_limit :metadata, 255
-
- t.text_limit :author, 255
- t.text_limit :bindir, 255
- t.text_limit :cert_chain, 255
- t.text_limit :executables, 255
- t.text_limit :extensions, 255
- t.text_limit :extra_rdoc_files, 255
- t.text_limit :platform, 255
- t.text_limit :post_install_message, 255
- t.text_limit :rdoc_options, 255
- t.text_limit :require_paths, 255
- t.text_limit :required_ruby_version, 255
- t.text_limit :required_rubygems_version, 255
- t.text_limit :requirements, 255
- t.text_limit :rubygems_version, 255
- t.text_limit :signing_key, 255
- end
- end
-
- def down
- drop_table :packages_rubygems_metadata
- end
-end
diff --git a/db/migrate/20210203222620_add_expired_index_to_composer_cache_files.rb b/db/migrate/20210203222620_add_expired_index_to_composer_cache_files.rb
deleted file mode 100644
index 9c6a27812a5..00000000000
--- a/db/migrate/20210203222620_add_expired_index_to_composer_cache_files.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddExpiredIndexToComposerCacheFiles < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'composer_cache_files_index_on_deleted_at'
-
- def up
- add_concurrent_index :packages_composer_cache_files, [:delete_at, :id], name: INDEX_NAME
- end
-
- def down
- remove_concurrent_index_by_name :packages_composer_cache_files, INDEX_NAME
- end
-end
diff --git a/db/migrate/20210203223551_add_orphan_index_to_composer_cache_files.rb b/db/migrate/20210203223551_add_orphan_index_to_composer_cache_files.rb
deleted file mode 100644
index e2853977e5f..00000000000
--- a/db/migrate/20210203223551_add_orphan_index_to_composer_cache_files.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddOrphanIndexToComposerCacheFiles < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'index_composer_cache_files_where_namespace_id_is_null'
-
- def up
- add_concurrent_index :packages_composer_cache_files, :id, name: INDEX_NAME, where: 'namespace_id IS NULL'
- end
-
- def down
- remove_concurrent_index_by_name :packages_composer_cache_files, INDEX_NAME
- end
-end
diff --git a/db/migrate/20210204152257_add_status_to_packages_packages.rb b/db/migrate/20210204152257_add_status_to_packages_packages.rb
deleted file mode 100644
index 4fd441048c6..00000000000
--- a/db/migrate/20210204152257_add_status_to_packages_packages.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddStatusToPackagesPackages < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :packages_packages, :status, :smallint, default: 0, null: false
- end
-end
diff --git a/db/migrate/20210204212850_add_group_id_to_ci_daily_build_group_report_results.rb b/db/migrate/20210204212850_add_group_id_to_ci_daily_build_group_report_results.rb
deleted file mode 100644
index ba0464f5ad6..00000000000
--- a/db/migrate/20210204212850_add_group_id_to_ci_daily_build_group_report_results.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddGroupIdToCiDailyBuildGroupReportResults < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column(:ci_daily_build_group_report_results, :group_id, :bigint)
- end
-end
diff --git a/db/migrate/20210205084357_create_ci_project_monthly_usage.rb b/db/migrate/20210205084357_create_ci_project_monthly_usage.rb
deleted file mode 100644
index c91bfa5ee1c..00000000000
--- a/db/migrate/20210205084357_create_ci_project_monthly_usage.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-# frozen_string_literal: true
-
-class CreateCiProjectMonthlyUsage < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- with_lock_retries do
- create_table :ci_project_monthly_usages, if_not_exists: true do |t|
- t.references :project, foreign_key: { on_delete: :cascade }, index: false, null: false
- t.date :date, null: false
- t.decimal :amount_used, null: false, default: 0.0, precision: 18, scale: 2
-
- t.index [:project_id, :date], unique: true
- end
- end
-
- add_check_constraint :ci_project_monthly_usages, "(date = date_trunc('month', date))", 'ci_project_monthly_usages_year_month_constraint'
- end
-
- def down
- with_lock_retries do
- drop_table :ci_project_monthly_usages
- end
- end
-end
diff --git a/db/migrate/20210205134213_add_creator_id_to_custom_emoji.rb b/db/migrate/20210205134213_add_creator_id_to_custom_emoji.rb
deleted file mode 100644
index c01335767a8..00000000000
--- a/db/migrate/20210205134213_add_creator_id_to_custom_emoji.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-# frozen_string_literal: true
-
-class AddCreatorIdToCustomEmoji < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def up
- # Custom Emoji is at the moment behind a default-disabled feature flag. It
- # will be unlikely there are any records in this table, but to able to
- # ensure a not-null constraint delete any existing rows.
- # Roll-out issue: https://gitlab.com/gitlab-org/gitlab/-/issues/231317
- execute 'DELETE FROM custom_emoji'
-
- add_reference :custom_emoji, # rubocop:disable Migration/AddReference
- :creator,
- index: true,
- null: false, # rubocop:disable Rails/NotNullColumn
- foreign_key: false # FK is added in 20210219100137
- end
-
- def down
- remove_reference :custom_emoji, :creator
- end
-end
diff --git a/db/migrate/20210205143926_remove_namespace_id_foreign_key_on_namespace_onboarding_actions.rb b/db/migrate/20210205143926_remove_namespace_id_foreign_key_on_namespace_onboarding_actions.rb
deleted file mode 100644
index 6fe66430dd0..00000000000
--- a/db/migrate/20210205143926_remove_namespace_id_foreign_key_on_namespace_onboarding_actions.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class RemoveNamespaceIdForeignKeyOnNamespaceOnboardingActions < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- remove_foreign_key :namespace_onboarding_actions, :namespaces
- end
- end
-
- def down
- with_lock_retries do
- add_foreign_key :namespace_onboarding_actions, :namespaces, on_delete: :cascade
- end
- end
-end
diff --git a/db/migrate/20210205213915_remove_foreign_keys_from_alerts_service_data.rb b/db/migrate/20210205213915_remove_foreign_keys_from_alerts_service_data.rb
deleted file mode 100644
index 1d539f783b4..00000000000
--- a/db/migrate/20210205213915_remove_foreign_keys_from_alerts_service_data.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class RemoveForeignKeysFromAlertsServiceData < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- remove_foreign_key_if_exists :alerts_service_data, column: :service_id
- end
- end
-
- def down
- with_lock_retries do
- add_foreign_key :alerts_service_data, :services, column: :service_id, on_delete: :cascade
- end
- end
-end
diff --git a/db/migrate/20210208103243_add_issue_created_at_to_onboarding_progress.rb b/db/migrate/20210208103243_add_issue_created_at_to_onboarding_progress.rb
deleted file mode 100644
index e8318ecd929..00000000000
--- a/db/migrate/20210208103243_add_issue_created_at_to_onboarding_progress.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddIssueCreatedAtToOnboardingProgress < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :onboarding_progresses, :issue_created_at, :datetime_with_timezone
- end
-end
diff --git a/db/migrate/20210208125050_add_status_expires_at_to_user_statuses.rb b/db/migrate/20210208125050_add_status_expires_at_to_user_statuses.rb
deleted file mode 100644
index 3ec1f6014a8..00000000000
--- a/db/migrate/20210208125050_add_status_expires_at_to_user_statuses.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddStatusExpiresAtToUserStatuses < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column(:user_statuses, :clear_status_at, :datetime_with_timezone, null: true)
- end
- end
-
- def down
- with_lock_retries do
- remove_column(:user_statuses, :clear_status_at)
- end
- end
-end
diff --git a/db/migrate/20210208125248_add_index_on_user_statuses_status_expires_at.rb b/db/migrate/20210208125248_add_index_on_user_statuses_status_expires_at.rb
deleted file mode 100644
index 98f3449c2e8..00000000000
--- a/db/migrate/20210208125248_add_index_on_user_statuses_status_expires_at.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class AddIndexOnUserStatusesStatusExpiresAt < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = 'index_user_statuses_on_clear_status_at_not_null'
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_index(:user_statuses, :clear_status_at, name: INDEX_NAME, where: 'clear_status_at IS NOT NULL')
- end
-
- def down
- remove_concurrent_index_by_name(:user_statuses, INDEX_NAME)
- end
-end
diff --git a/db/migrate/20210208144134_add_index_group_id_to_ci_daily_build_group_report_results.rb b/db/migrate/20210208144134_add_index_group_id_to_ci_daily_build_group_report_results.rb
deleted file mode 100644
index 422d8174043..00000000000
--- a/db/migrate/20210208144134_add_index_group_id_to_ci_daily_build_group_report_results.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-class AddIndexGroupIdToCiDailyBuildGroupReportResults < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = 'index_ci_daily_build_group_report_results_on_group_id'
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_index(:ci_daily_build_group_report_results, :group_id, name: INDEX_NAME)
- add_concurrent_foreign_key(:ci_daily_build_group_report_results, :namespaces, column: :group_id)
- end
-
- def down
- remove_foreign_key_if_exists(:ci_daily_build_group_report_results, column: :group_id)
- remove_concurrent_index_by_name(:ci_daily_build_group_report_results, INDEX_NAME)
- end
-end
diff --git a/db/migrate/20210208161207_add_notes_create_limit_to_application_settings.rb b/db/migrate/20210208161207_add_notes_create_limit_to_application_settings.rb
deleted file mode 100644
index 4468da77e6c..00000000000
--- a/db/migrate/20210208161207_add_notes_create_limit_to_application_settings.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddNotesCreateLimitToApplicationSettings < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :application_settings, :notes_create_limit, :integer, default: 300, null: false
- end
-end
diff --git a/db/migrate/20210208200914_add_ends_at_to_oncall_rotations.rb b/db/migrate/20210208200914_add_ends_at_to_oncall_rotations.rb
deleted file mode 100644
index 5cd179c9a80..00000000000
--- a/db/migrate/20210208200914_add_ends_at_to_oncall_rotations.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddEndsAtToOncallRotations < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :incident_management_oncall_rotations, :ends_at, :datetime_with_timezone
- end
-end
diff --git a/db/migrate/20210209110019_create_external_approval_rules.rb b/db/migrate/20210209110019_create_external_approval_rules.rb
deleted file mode 100644
index 5d6780ec412..00000000000
--- a/db/migrate/20210209110019_create_external_approval_rules.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# frozen_string_literal: true
-
-class CreateExternalApprovalRules < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
- disable_ddl_transaction!
-
- DOWNTIME = false
-
- def up
- create_table_with_constraints :external_approval_rules, if_not_exists: true do |t|
- t.references :project, foreign_key: { on_delete: :cascade }, null: false, index: false
- t.timestamps_with_timezone
- t.text :external_url, null: false
- t.text_limit :external_url, 255
- t.text :name, null: false
- t.text_limit :name, 255
-
- t.index([:project_id, :name],
- unique: true,
- name: 'idx_on_external_approval_rules_project_id_name')
- t.index([:project_id, :external_url],
- unique: true,
- name: 'idx_on_external_approval_rules_project_id_external_url')
- end
-
- create_table :external_approval_rules_protected_branches do |t|
- t.bigint :external_approval_rule_id, null: false, index: { name: 'idx_eaprpb_external_approval_rule_id' }
- t.bigint :protected_branch_id, null: false
- t.index([:protected_branch_id, :external_approval_rule_id],
- unique: true,
- name: 'idx_protected_branch_id_external_approval_rule_id')
- end
- end
-
- def down
- with_lock_retries do
- drop_table :external_approval_rules_protected_branches, force: :cascade, if_exists: true
- end
-
- with_lock_retries do
- drop_table :external_approval_rules, force: :cascade, if_exists: true
- end
- end
-end
diff --git a/db/migrate/20210209160510_create_security_orchestration_policy_configurations.rb b/db/migrate/20210209160510_create_security_orchestration_policy_configurations.rb
deleted file mode 100644
index 896593c803f..00000000000
--- a/db/migrate/20210209160510_create_security_orchestration_policy_configurations.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# frozen_string_literal: true
-
-class CreateSecurityOrchestrationPolicyConfigurations < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_PREFIX = 'index_sop_configs_'
-
- def up
- table_comment = { owner: 'group::container security', description: 'Configuration used to store relationship between project and security policy repository' }
-
- create_table_with_constraints :security_orchestration_policy_configurations, comment: table_comment.to_json do |t|
- t.references :project, null: false, foreign_key: { to_table: :projects, on_delete: :cascade }, index: { name: INDEX_PREFIX + 'on_project_id', unique: true }
- t.references :security_policy_management_project, null: false, foreign_key: { to_table: :projects, on_delete: :restrict }, index: { name: INDEX_PREFIX + 'on_security_policy_management_project_id', unique: true }
-
- t.timestamps_with_timezone
- end
- end
-
- def down
- with_lock_retries do
- drop_table :security_orchestration_policy_configurations, force: :cascade
- end
- end
-end
diff --git a/db/migrate/20210209171525_add_status_index_to_packages_packages.rb b/db/migrate/20210209171525_add_status_index_to_packages_packages.rb
deleted file mode 100644
index cb956165d6e..00000000000
--- a/db/migrate/20210209171525_add_status_index_to_packages_packages.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddStatusIndexToPackagesPackages < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'index_packages_packages_on_project_id_and_status'
-
- def up
- add_concurrent_index :packages_packages, [:project_id, :status], name: INDEX_NAME
- end
-
- def down
- remove_concurrent_index_by_name :packages_packages, name: INDEX_NAME
- end
-end
diff --git a/db/migrate/20210209232508_add_markdown_surround_selection_to_user_preferences.rb b/db/migrate/20210209232508_add_markdown_surround_selection_to_user_preferences.rb
deleted file mode 100644
index c4063a55d18..00000000000
--- a/db/migrate/20210209232508_add_markdown_surround_selection_to_user_preferences.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-# frozen_string_literal: true
-
-class AddMarkdownSurroundSelectionToUserPreferences < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- with_lock_retries do
- add_column :user_preferences, :markdown_surround_selection, :boolean, default: true, null: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :user_preferences, :markdown_surround_selection, :boolean
- end
- end
-end
diff --git a/db/migrate/20210210210232_add_notes_create_limit_allowlist_to_application_settings.rb b/db/migrate/20210210210232_add_notes_create_limit_allowlist_to_application_settings.rb
deleted file mode 100644
index 56feed3688c..00000000000
--- a/db/migrate/20210210210232_add_notes_create_limit_allowlist_to_application_settings.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddNotesCreateLimitAllowlistToApplicationSettings < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :application_settings, :notes_create_limit_allowlist, :text, array: true, default: [], null: false
- end
-end
diff --git a/db/migrate/20210211195543_add_created_by_user_for_cluster_agent_token.rb b/db/migrate/20210211195543_add_created_by_user_for_cluster_agent_token.rb
deleted file mode 100644
index 94dc8192037..00000000000
--- a/db/migrate/20210211195543_add_created_by_user_for_cluster_agent_token.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-# frozen_string_literal: true
-
-class AddCreatedByUserForClusterAgentToken < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = 'index_cluster_agent_tokens_on_created_by_user_id'
-
- disable_ddl_transaction!
-
- def up
- unless column_exists?(:cluster_agent_tokens, :created_by_user_id)
- add_column :cluster_agent_tokens, :created_by_user_id, :bigint
- end
-
- add_concurrent_index :cluster_agent_tokens, :created_by_user_id, name: INDEX_NAME
- add_concurrent_foreign_key :cluster_agent_tokens, :users, column: :created_by_user_id, on_delete: :nullify
- end
-
- def down
- with_lock_retries do
- remove_foreign_key_if_exists :cluster_agent_tokens, :users, column: :created_by_user_id
- end
-
- remove_concurrent_index_by_name :cluster_agent_tokens, INDEX_NAME
- remove_column :cluster_agent_tokens, :created_by_user_id
- end
-end
diff --git a/db/migrate/20210212153934_make_the_geo_oauth_application_trusted_by_default.rb b/db/migrate/20210212153934_make_the_geo_oauth_application_trusted_by_default.rb
deleted file mode 100644
index ab0343887e4..00000000000
--- a/db/migrate/20210212153934_make_the_geo_oauth_application_trusted_by_default.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-class MakeTheGeoOauthApplicationTrustedByDefault < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def up
- execute(<<-SQL.squish)
- UPDATE oauth_applications
- SET confidential = true, trusted = true
- WHERE id IN (SELECT oauth_application_id FROM geo_nodes);
- SQL
- end
-
- def down
- # We won't be able to tell which trusted applications weren't
- # confidential before the migration and setting all trusted
- # applications are not confidential would introduce security
- # issues.
- end
-end
diff --git a/db/migrate/20210212163231_add_merge_when_pipeline_succeeds_to_notification_settings.rb b/db/migrate/20210212163231_add_merge_when_pipeline_succeeds_to_notification_settings.rb
deleted file mode 100644
index 08d0a99436e..00000000000
--- a/db/migrate/20210212163231_add_merge_when_pipeline_succeeds_to_notification_settings.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 AddMergeWhenPipelineSucceedsToNotificationSettings < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :notification_settings, :merge_when_pipeline_succeeds, :boolean, default: false, null: false
- end
-end
diff --git a/db/migrate/20210214201118_add_delayed_project_removal_to_namespace_settings.rb b/db/migrate/20210214201118_add_delayed_project_removal_to_namespace_settings.rb
deleted file mode 100644
index 1c6e0b0c27c..00000000000
--- a/db/migrate/20210214201118_add_delayed_project_removal_to_namespace_settings.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddDelayedProjectRemovalToNamespaceSettings < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :namespace_settings, :delayed_project_removal, :boolean, default: false, null: false
- end
-end
diff --git a/db/migrate/20210214205155_add_index_to_namespaces_delayed_project_removal.rb b/db/migrate/20210214205155_add_index_to_namespaces_delayed_project_removal.rb
deleted file mode 100644
index 8d09a5c9269..00000000000
--- a/db/migrate/20210214205155_add_index_to_namespaces_delayed_project_removal.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class AddIndexToNamespacesDelayedProjectRemoval < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = 'tmp_idx_on_namespaces_delayed_project_removal'
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_index :namespaces, :id, name: INDEX_NAME, where: 'delayed_project_removal = TRUE'
- end
-
- def down
- remove_concurrent_index_by_name :namespaces, INDEX_NAME
- end
-end
diff --git a/db/migrate/20210215172449_remove_artifact_expiry_temp_index.rb b/db/migrate/20210215172449_remove_artifact_expiry_temp_index.rb
deleted file mode 100644
index 1e6619731a2..00000000000
--- a/db/migrate/20210215172449_remove_artifact_expiry_temp_index.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class RemoveArtifactExpiryTempIndex < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- disable_ddl_transaction!
-
- INDEX_NAME = 'expired_artifacts_temp_index'
- INDEX_CONDITION = "expire_at IS NULL AND date(created_at AT TIME ZONE 'UTC') < '2020-06-22'::date"
-
- def up
- remove_concurrent_index_by_name :ci_job_artifacts, INDEX_NAME
- end
-
- def down
- add_concurrent_index(:ci_job_artifacts, %i(id created_at), where: INDEX_CONDITION, name: INDEX_NAME)
- end
-end
diff --git a/db/migrate/20210216122140_add_in_product_marketing_emails_enabled_setting.rb b/db/migrate/20210216122140_add_in_product_marketing_emails_enabled_setting.rb
deleted file mode 100644
index 5813b1b5f33..00000000000
--- a/db/migrate/20210216122140_add_in_product_marketing_emails_enabled_setting.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddInProductMarketingEmailsEnabledSetting < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :application_settings, :in_product_marketing_emails_enabled, :boolean, null: false, default: true
- end
-end
diff --git a/db/migrate/20210216135504_add_created_by_to_cluster_agent.rb b/db/migrate/20210216135504_add_created_by_to_cluster_agent.rb
deleted file mode 100644
index fd679a1c525..00000000000
--- a/db/migrate/20210216135504_add_created_by_to_cluster_agent.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-# frozen_string_literal: true
-
-class AddCreatedByToClusterAgent < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = 'index_cluster_agents_on_created_by_user_id'
-
- disable_ddl_transaction!
-
- def up
- unless column_exists?(:cluster_agents, :created_by_user_id)
- with_lock_retries do
- add_column :cluster_agents, :created_by_user_id, :bigint
- end
- end
-
- add_concurrent_index :cluster_agents, :created_by_user_id, name: INDEX_NAME
- add_concurrent_foreign_key :cluster_agents, :users, column: :created_by_user_id, on_delete: :nullify
- end
-
- def down
- with_lock_retries do
- remove_column :cluster_agents, :created_by_user_id
- end
- end
-end
diff --git a/db/migrate/20210216193620_add_description_to_cluster_token.rb b/db/migrate/20210216193620_add_description_to_cluster_token.rb
deleted file mode 100644
index 67f7c6bd522..00000000000
--- a/db/migrate/20210216193620_add_description_to_cluster_token.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-# frozen_string_literal: true
-
-class AddDescriptionToClusterToken < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- unless column_exists?(:cluster_agent_tokens, :description)
- add_column :cluster_agent_tokens, :description, :text
- end
-
- add_text_limit :cluster_agent_tokens, :description, 1024
- end
-
- def down
- remove_column :cluster_agent_tokens, :description
- end
-end
diff --git a/db/migrate/20210216223335_remove_index_on_issues_where_service_desk_reply_to_is_not_null.rb b/db/migrate/20210216223335_remove_index_on_issues_where_service_desk_reply_to_is_not_null.rb
deleted file mode 100644
index 5224b6f7031..00000000000
--- a/db/migrate/20210216223335_remove_index_on_issues_where_service_desk_reply_to_is_not_null.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-# frozen_string_literal: true
-
-class RemoveIndexOnIssuesWhereServiceDeskReplyToIsNotNull < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- INDEX_TABLE = :issues
- INDEX_NAME = 'idx_on_issues_where_service_desk_reply_to_is_not_null'
-
- def up
- Gitlab::BackgroundMigration.steal('PopulateIssueEmailParticipants')
- remove_concurrent_index_by_name INDEX_TABLE, INDEX_NAME
- end
-
- def down
- add_concurrent_index(INDEX_TABLE, [:id], name: INDEX_NAME, where: 'service_desk_reply_to IS NOT NULL')
- end
-end
diff --git a/db/migrate/20210217101901_create_epic_list_user_preferences.rb b/db/migrate/20210217101901_create_epic_list_user_preferences.rb
deleted file mode 100644
index 5aacea1938d..00000000000
--- a/db/migrate/20210217101901_create_epic_list_user_preferences.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-class CreateEpicListUserPreferences < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def up
- create_table :boards_epic_list_user_preferences do |t|
- t.bigint :user_id, null: false
- t.bigint :epic_list_id, index: true, null: false
- t.timestamps_with_timezone null: false
- t.boolean :collapsed, null: false, default: false
- end
-
- add_index :boards_epic_list_user_preferences, [:user_id, :epic_list_id], unique: true, name: 'index_epic_board_list_preferences_on_user_and_list'
- end
-
- def down
- drop_table :boards_epic_list_user_preferences
- end
-end
diff --git a/db/migrate/20210218040814_add_environment_scope_to_group_variables.rb b/db/migrate/20210218040814_add_environment_scope_to_group_variables.rb
deleted file mode 100644
index 5cc41f570aa..00000000000
--- a/db/migrate/20210218040814_add_environment_scope_to_group_variables.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-# frozen_string_literal: true
-
-class AddEnvironmentScopeToGroupVariables < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- OLD_INDEX = 'index_ci_group_variables_on_group_id_and_key'
- NEW_INDEX = 'index_ci_group_variables_on_group_id_and_key_and_environment'
-
- disable_ddl_transaction!
-
- def up
- unless column_exists?(:ci_group_variables, :environment_scope)
- # rubocop:disable Migration/AddLimitToTextColumns
- # Added in 20210305013509_add_text_limit_to_group_ci_variables_environment_scope
- add_column :ci_group_variables, :environment_scope, :text, null: false, default: '*'
- # rubocop:enable Migration/AddLimitToTextColumns
- end
-
- add_concurrent_index :ci_group_variables, [:group_id, :key, :environment_scope], unique: true, name: NEW_INDEX
- remove_concurrent_index_by_name :ci_group_variables, OLD_INDEX
- end
-
- def down
- remove_duplicates!
-
- add_concurrent_index :ci_group_variables, [:group_id, :key], unique: true, name: OLD_INDEX
- remove_concurrent_index_by_name :ci_group_variables, NEW_INDEX
-
- remove_column :ci_group_variables, :environment_scope
- end
-
- private
-
- def remove_duplicates!
- execute <<-SQL
- DELETE FROM ci_group_variables
- WHERE id NOT IN (
- SELECT MIN(id)
- FROM ci_group_variables
- GROUP BY group_id, key
- )
- SQL
- end
-end
diff --git a/db/migrate/20210218142626_change_finding_fingerprint_enum.rb b/db/migrate/20210218142626_change_finding_fingerprint_enum.rb
deleted file mode 100644
index 615509e0c04..00000000000
--- a/db/migrate/20210218142626_change_finding_fingerprint_enum.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-# frozen_string_literal: true
-
-class ChangeFindingFingerprintEnum < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- change_column :vulnerability_finding_fingerprints, :algorithm_type, :integer, limit: 2
- end
-
- def down
- change_column :vulnerability_finding_fingerprints, :algorithm_type, :integer
- end
-end
diff --git a/db/migrate/20210218144056_add_sprints_start_date_not_null_check_constraint.rb b/db/migrate/20210218144056_add_sprints_start_date_not_null_check_constraint.rb
deleted file mode 100644
index 243080f49b2..00000000000
--- a/db/migrate/20210218144056_add_sprints_start_date_not_null_check_constraint.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-# frozen_string_literal: true
-
-class AddSprintsStartDateNotNullCheckConstraint < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_not_null_constraint(:sprints, :start_date, validate: false)
- end
-
- def down
- remove_not_null_constraint(:sprints, :start_date)
- end
-end
diff --git a/db/migrate/20210218144656_add_sprints_due_date_not_null_check_constraint.rb b/db/migrate/20210218144656_add_sprints_due_date_not_null_check_constraint.rb
deleted file mode 100644
index 9f3ed6fd13a..00000000000
--- a/db/migrate/20210218144656_add_sprints_due_date_not_null_check_constraint.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-# frozen_string_literal: true
-
-class AddSprintsDueDateNotNullCheckConstraint < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_not_null_constraint(:sprints, :due_date, validate: false)
- end
-
- def down
- remove_not_null_constraint(:sprints, :due_date)
- end
-end
diff --git a/db/migrate/20210219100137_add_creator_foreign_key_to_custom_emoji.rb b/db/migrate/20210219100137_add_creator_foreign_key_to_custom_emoji.rb
deleted file mode 100644
index a954ba5ba3b..00000000000
--- a/db/migrate/20210219100137_add_creator_foreign_key_to_custom_emoji.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-# frozen_string_literal: true
-
-class AddCreatorForeignKeyToCustomEmoji < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- FK_NAME = 'fk_custom_emoji_creator_id'
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_foreign_key :custom_emoji, :users,
- on_delete: :cascade,
- column: :creator_id,
- name: FK_NAME
- end
-
- def down
- with_lock_retries do
- remove_foreign_key :custom_emoji, name: FK_NAME
- end
- end
-end
diff --git a/db/migrate/20210219111040_add_epic_issue_composite_index.rb b/db/migrate/20210219111040_add_epic_issue_composite_index.rb
deleted file mode 100644
index f1344baf0c7..00000000000
--- a/db/migrate/20210219111040_add_epic_issue_composite_index.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class AddEpicIssueCompositeIndex < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
- INDEX_NAME = 'index_epic_issues_on_epic_id_and_issue_id'
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_index :epic_issues, [:epic_id, :issue_id], name: INDEX_NAME
- end
-
- def down
- remove_concurrent_index_by_name :epic_issues, INDEX_NAME
- end
-end
diff --git a/db/migrate/20210219211845_add_version_usage_data_id_to_raw_usage_data.rb b/db/migrate/20210219211845_add_version_usage_data_id_to_raw_usage_data.rb
deleted file mode 100644
index 1b49fdd98bd..00000000000
--- a/db/migrate/20210219211845_add_version_usage_data_id_to_raw_usage_data.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddVersionUsageDataIdToRawUsageData < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :raw_usage_data, :version_usage_data_id_value, :bigint
- end
-end
diff --git a/db/migrate/20210222030537_add_is_removed_to_oncall_participant.rb b/db/migrate/20210222030537_add_is_removed_to_oncall_participant.rb
deleted file mode 100644
index 83b81a067ab..00000000000
--- a/db/migrate/20210222030537_add_is_removed_to_oncall_participant.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddIsRemovedToOncallParticipant < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :incident_management_oncall_participants, :is_removed, :boolean, default: false, null: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :incident_management_oncall_participants, :is_removed
- end
- end
-end
diff --git a/db/migrate/20210222042745_add_is_removed_index_to_oncall_participant.rb b/db/migrate/20210222042745_add_is_removed_index_to_oncall_participant.rb
deleted file mode 100644
index cfa9b1b89c9..00000000000
--- a/db/migrate/20210222042745_add_is_removed_index_to_oncall_participant.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-# frozen_string_literal: true
-
-class AddIsRemovedIndexToOncallParticipant < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- disable_ddl_transaction!
-
- DOWNTIME = false
- EXISTING_INDEX_NAME = 'index_inc_mgmnt_oncall_participants_on_oncall_rotation_id'
- NEW_INDEX_NAME = 'index_inc_mgmnt_oncall_pcpnt_on_oncall_rotation_id_is_removed'
-
- def up
- add_concurrent_index :incident_management_oncall_participants, [:oncall_rotation_id, :is_removed], name: NEW_INDEX_NAME
- remove_concurrent_index_by_name(:incident_management_oncall_participants, EXISTING_INDEX_NAME)
- end
-
- def down
- add_concurrent_index :incident_management_oncall_participants, :oncall_rotation_id, name: EXISTING_INDEX_NAME
- remove_concurrent_index_by_name(:incident_management_oncall_participants, NEW_INDEX_NAME)
- end
-end
diff --git a/db/migrate/20210222070356_add_storage_size_to_namespace_statistics.rb b/db/migrate/20210222070356_add_storage_size_to_namespace_statistics.rb
deleted file mode 100644
index 838c22382c6..00000000000
--- a/db/migrate/20210222070356_add_storage_size_to_namespace_statistics.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddStorageSizeToNamespaceStatistics < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :namespace_statistics, :storage_size, :bigint, default: 0, null: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :namespace_statistics, :storage_size
- end
- end
-end
diff --git a/db/migrate/20210222070413_add_wiki_size_to_namespace_statistics.rb b/db/migrate/20210222070413_add_wiki_size_to_namespace_statistics.rb
deleted file mode 100644
index 9e6ced9fd64..00000000000
--- a/db/migrate/20210222070413_add_wiki_size_to_namespace_statistics.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddWikiSizeToNamespaceStatistics < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :namespace_statistics, :wiki_size, :bigint, default: 0, null: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :namespace_statistics, :wiki_size
- end
- end
-end
diff --git a/db/migrate/20210222085529_add_epic_board_user_preference_user_fk.rb b/db/migrate/20210222085529_add_epic_board_user_preference_user_fk.rb
deleted file mode 100644
index 52de892a177..00000000000
--- a/db/migrate/20210222085529_add_epic_board_user_preference_user_fk.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddEpicBoardUserPreferenceUserFk < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_foreign_key :boards_epic_list_user_preferences, :users, column: :user_id, on_delete: :cascade
- end
-
- def down
- with_lock_retries do
- remove_foreign_key_if_exists :boards_epic_list_user_preferences, :users
- end
- end
-end
diff --git a/db/migrate/20210222085551_add_epic_board_user_preference_epic_list_fk.rb b/db/migrate/20210222085551_add_epic_board_user_preference_epic_list_fk.rb
deleted file mode 100644
index 3f62036b899..00000000000
--- a/db/migrate/20210222085551_add_epic_board_user_preference_epic_list_fk.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddEpicBoardUserPreferenceEpicListFk < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_foreign_key :boards_epic_list_user_preferences, :boards_epic_lists, column: :epic_list_id, on_delete: :cascade
- end
-
- def down
- with_lock_retries do
- remove_foreign_key_if_exists :boards_epic_list_user_preferences, :boards_epic_lists
- end
- end
-end
diff --git a/db/migrate/20210222105120_add_container_registry_access_level.rb b/db/migrate/20210222105120_add_container_registry_access_level.rb
deleted file mode 100644
index 2324866b0ef..00000000000
--- a/db/migrate/20210222105120_add_container_registry_access_level.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# frozen_string_literal: true
-
-class AddContainerRegistryAccessLevel < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column(
- :project_features,
- :container_registry_access_level,
- :integer,
- default: 0, # ProjectFeature::DISABLED value
- null: false
- )
- end
- end
-
- def down
- with_lock_retries do
- remove_column :project_features, :container_registry_access_level
- end
- end
-end
diff --git a/db/migrate/20210223053451_add_branch_name_to_dast_profile.rb b/db/migrate/20210223053451_add_branch_name_to_dast_profile.rb
deleted file mode 100644
index 311e809103f..00000000000
--- a/db/migrate/20210223053451_add_branch_name_to_dast_profile.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-# frozen_string_literal: true
-
-class AddBranchNameToDastProfile < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- with_lock_retries do
- add_column :dast_profiles, :branch_name, :text
- end
-
- add_text_limit :dast_profiles, :branch_name, 255
- end
-
- def down
- with_lock_retries do
- remove_column :dast_profiles, :branch_name
- end
- end
-end
diff --git a/db/migrate/20210223132934_add_foreign_key_to_external_approval_rules.rb b/db/migrate/20210223132934_add_foreign_key_to_external_approval_rules.rb
deleted file mode 100644
index b5f04672813..00000000000
--- a/db/migrate/20210223132934_add_foreign_key_to_external_approval_rules.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class AddForeignKeyToExternalApprovalRules < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_foreign_key :external_approval_rules_protected_branches, :external_approval_rules, column: :external_approval_rule_id, on_delete: :cascade
- end
-
- def down
- with_lock_retries do
- remove_foreign_key :external_approval_rules_protected_branches, column: :external_approval_rule_id
- end
- end
-end
diff --git a/db/migrate/20210223133116_add_foreign_key_to_external_approval_rules_protected_branches.rb b/db/migrate/20210223133116_add_foreign_key_to_external_approval_rules_protected_branches.rb
deleted file mode 100644
index ad51f765d8a..00000000000
--- a/db/migrate/20210223133116_add_foreign_key_to_external_approval_rules_protected_branches.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class AddForeignKeyToExternalApprovalRulesProtectedBranches < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_concurrent_foreign_key :external_approval_rules_protected_branches, :protected_branches, column: :protected_branch_id, on_delete: :cascade
- end
-
- def down
- with_lock_retries do
- remove_foreign_key :external_approval_rules_protected_branches, column: :protected_branch_id
- end
- end
-end
diff --git a/db/migrate/20210223230600_update_rubygems_metadata_metadata.rb b/db/migrate/20210223230600_update_rubygems_metadata_metadata.rb
deleted file mode 100644
index 39e79be301e..00000000000
--- a/db/migrate/20210223230600_update_rubygems_metadata_metadata.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class UpdateRubygemsMetadataMetadata < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- remove_text_limit :packages_rubygems_metadata, :metadata
- add_text_limit :packages_rubygems_metadata, :metadata, 30000
- end
-
- def down
- remove_text_limit :packages_rubygems_metadata, :metadata
- add_text_limit :packages_rubygems_metadata, :metadata, 255, validate: false
- end
-end
diff --git a/db/migrate/20210224132547_add_null_constraint_to_terraform_state_name.rb b/db/migrate/20210224132547_add_null_constraint_to_terraform_state_name.rb
deleted file mode 100644
index d9f23311cf5..00000000000
--- a/db/migrate/20210224132547_add_null_constraint_to_terraform_state_name.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-class AddNullConstraintToTerraformStateName < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def change
- change_column_null :terraform_states, :name, false
- end
-end
diff --git a/db/migrate/20210224133337_add_name_field_to_cluster_agent_token.rb b/db/migrate/20210224133337_add_name_field_to_cluster_agent_token.rb
deleted file mode 100644
index 2cec37f8477..00000000000
--- a/db/migrate/20210224133337_add_name_field_to_cluster_agent_token.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-# frozen_string_literal: true
-
-class AddNameFieldToClusterAgentToken < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- # rubocop:disable Migration/AddLimitToTextColumns
- # limit is added in LimitClusterTokenSize
- def change
- add_column :cluster_agent_tokens, :name, :text
- end
- # rubocop:enable Migration/AddLimitToTextColumns
-end
diff --git a/db/migrate/20210224161552_add_jira_issue_transition_automatic_to_jira_tracker_data.rb b/db/migrate/20210224161552_add_jira_issue_transition_automatic_to_jira_tracker_data.rb
deleted file mode 100644
index 6c788b9d554..00000000000
--- a/db/migrate/20210224161552_add_jira_issue_transition_automatic_to_jira_tracker_data.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-class AddJiraIssueTransitionAutomaticToJiraTrackerData < ActiveRecord::Migration[6.0]
- DOWNTIME = false
-
- def change
- add_column :jira_tracker_data, :jira_issue_transition_automatic, :boolean, null: false, default: false
- end
-end
diff --git a/db/migrate/20210225090801_create_dora_daily_metrics.rb b/db/migrate/20210225090801_create_dora_daily_metrics.rb
deleted file mode 100644
index 65c1dbc23e4..00000000000
--- a/db/migrate/20210225090801_create_dora_daily_metrics.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-# frozen_string_literal: true
-
-class CreateDoraDailyMetrics < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- with_lock_retries do
- create_table :dora_daily_metrics, if_not_exists: true do |t|
- t.references :environment, null: false, foreign_key: { on_delete: :cascade }, index: false
- t.date :date, null: false
- t.integer :deployment_frequency
- t.integer :lead_time_for_changes_in_seconds
-
- t.index [:environment_id, :date], unique: true
- end
- end
-
- add_check_constraint :dora_daily_metrics, "deployment_frequency >= 0", 'dora_daily_metrics_deployment_frequency_positive'
- add_check_constraint :dora_daily_metrics, "lead_time_for_changes_in_seconds >= 0", 'dora_daily_metrics_lead_time_for_changes_in_seconds_positive'
- end
-
- def down
- with_lock_retries do
- drop_table :dora_daily_metrics
- end
- end
-end
diff --git a/db/migrate/20210225135533_limit_cluster_token_size.rb b/db/migrate/20210225135533_limit_cluster_token_size.rb
deleted file mode 100644
index 6a1b6b7b4e8..00000000000
--- a/db/migrate/20210225135533_limit_cluster_token_size.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-# frozen_string_literal: true
-
-class LimitClusterTokenSize < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- add_text_limit :cluster_agent_tokens, :name, 255
- end
-
- def down
- remove_text_limit :cluster_agent_tokens, :name
- end
-end
diff --git a/db/migrate/20210225153522_add_allow_force_push_to_protected_branches.rb b/db/migrate/20210225153522_add_allow_force_push_to_protected_branches.rb
deleted file mode 100644
index 92a15cb45dd..00000000000
--- a/db/migrate/20210225153522_add_allow_force_push_to_protected_branches.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddAllowForcePushToProtectedBranches < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :protected_branches, :allow_force_push, :boolean, default: false, null: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :protected_branches, :allow_force_push
- end
- end
-end
diff --git a/db/migrate/20210301150451_add_tier_to_environments.rb b/db/migrate/20210301150451_add_tier_to_environments.rb
deleted file mode 100644
index 28592dd2bf6..00000000000
--- a/db/migrate/20210301150451_add_tier_to_environments.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddTierToEnvironments < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :environments, :tier, :smallint
- end
- end
-
- def down
- with_lock_retries do
- remove_column :environments, :tier
- end
- end
-end
diff --git a/db/migrate/20210301193412_add_optional_to_ci_build_needs.rb b/db/migrate/20210301193412_add_optional_to_ci_build_needs.rb
deleted file mode 100644
index 2c6e85f930d..00000000000
--- a/db/migrate/20210301193412_add_optional_to_ci_build_needs.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-class AddOptionalToCiBuildNeeds < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- def up
- with_lock_retries do
- add_column :ci_build_needs, :optional, :boolean, default: false, null: false
- end
- end
-
- def down
- with_lock_retries do
- remove_column :ci_build_needs, :optional
- end
- end
-end
diff --git a/db/migrate/20210301200601_rename_asset_proxy_allowlist_on_application_settings.rb b/db/migrate/20210301200601_rename_asset_proxy_allowlist_on_application_settings.rb
deleted file mode 100644
index 8ac334fc6a4..00000000000
--- a/db/migrate/20210301200601_rename_asset_proxy_allowlist_on_application_settings.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-# frozen_string_literal: true
-
-class RenameAssetProxyAllowlistOnApplicationSettings < ActiveRecord::Migration[6.0]
- include Gitlab::Database::MigrationHelpers::V2
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- cleanup_concurrent_column_rename :application_settings,
- :asset_proxy_whitelist,
- :asset_proxy_allowlist
-
- rename_column_concurrently :application_settings,
- :asset_proxy_allowlist,
- :asset_proxy_whitelist
- end
-
- def down
- undo_rename_column_concurrently :application_settings,
- :asset_proxy_allowlist,
- :asset_proxy_whitelist
-
- undo_cleanup_concurrent_column_rename :application_settings,
- :asset_proxy_whitelist,
- :asset_proxy_allowlist
- end
-end
diff --git a/db/migrate/20181228175414_init_schema.rb b/db/migrate/20210301200959_init_schema.rb
index df68927d79a..df68927d79a 100644
--- a/db/migrate/20181228175414_init_schema.rb
+++ b/db/migrate/20210301200959_init_schema.rb
diff --git a/db/migrate/20210811193033_add_unique_index_to_vulnerability_finding_links.rb b/db/migrate/20210811193033_add_unique_index_to_vulnerability_finding_links.rb
new file mode 100644
index 00000000000..1bcee89ae57
--- /dev/null
+++ b/db/migrate/20210811193033_add_unique_index_to_vulnerability_finding_links.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class AddUniqueIndexToVulnerabilityFindingLinks < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ NAME_URL_INDEX_NAME = 'finding_link_name_url_idx'
+ URL_INDEX_NAME = 'finding_link_url_idx'
+
+ def up
+ add_concurrent_index :vulnerability_finding_links, [:vulnerability_occurrence_id, :name, :url], unique: true, name: NAME_URL_INDEX_NAME
+ add_concurrent_index :vulnerability_finding_links, [:vulnerability_occurrence_id, :url], unique: true, where: 'name is null', name: URL_INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index :vulnerability_finding_links, [:vulnerability_occurrence_id, :name, :url], name: NAME_URL_INDEX_NAME
+ remove_concurrent_index :vulnerability_finding_links, [:vulnerability_occurrence_id, :url], name: URL_INDEX_NAME
+ end
+end
diff --git a/db/migrate/20211026124336_add_archive_trace_events_to_integrations.rb b/db/migrate/20211026124336_add_archive_trace_events_to_integrations.rb
new file mode 100644
index 00000000000..90e68f6a0ac
--- /dev/null
+++ b/db/migrate/20211026124336_add_archive_trace_events_to_integrations.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddArchiveTraceEventsToIntegrations < Gitlab::Database::Migration[1.0]
+ def change
+ add_column :integrations, :archive_trace_events, :boolean, null: false, default: false
+ end
+end
diff --git a/db/migrate/20211209230042_add_status_to_cluster_agent_tokens.rb b/db/migrate/20211209230042_add_status_to_cluster_agent_tokens.rb
new file mode 100644
index 00000000000..596c82eb209
--- /dev/null
+++ b/db/migrate/20211209230042_add_status_to_cluster_agent_tokens.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddStatusToClusterAgentTokens < Gitlab::Database::Migration[1.0]
+ def change
+ add_column :cluster_agent_tokens, :status, :smallint, null: false, default: 0
+ end
+end
diff --git a/db/migrate/20211210025754_alter_constraint_of_phone.rb b/db/migrate/20211210025754_alter_constraint_of_phone.rb
new file mode 100644
index 00000000000..1644fbe9000
--- /dev/null
+++ b/db/migrate/20211210025754_alter_constraint_of_phone.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class AlterConstraintOfPhone < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ def up
+ constraint_phone = check_constraint_name('verification_codes', 'phone', 'max_length')
+ remove_check_constraint(:verification_codes, constraint_phone)
+ add_check_constraint(:verification_codes, 'char_length(phone) <= 50', constraint_phone)
+ end
+
+ def down
+ constraint_phone = check_constraint_name('verification_codes', 'phone', 'max_length')
+ remove_check_constraint(:verification_codes, constraint_phone)
+ add_check_constraint(:verification_codes, 'char_length(phone) <= 32', constraint_phone)
+ end
+end
diff --git a/db/migrate/20211210031721_change_user_details_phone_text_limit.rb b/db/migrate/20211210031721_change_user_details_phone_text_limit.rb
new file mode 100644
index 00000000000..5432f6d3d24
--- /dev/null
+++ b/db/migrate/20211210031721_change_user_details_phone_text_limit.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class ChangeUserDetailsPhoneTextLimit < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ def up
+ remove_text_limit :user_details, :phone
+ add_text_limit :user_details, :phone, 50
+ end
+
+ def down
+ remove_text_limit :user_details, :phone
+ add_text_limit :user_details, :phone, 32
+ end
+end
diff --git a/db/migrate/20211213142344_add_settings_user_email_lookup_limit.rb b/db/migrate/20211213142344_add_settings_user_email_lookup_limit.rb
new file mode 100644
index 00000000000..ac7027bf082
--- /dev/null
+++ b/db/migrate/20211213142344_add_settings_user_email_lookup_limit.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddSettingsUserEmailLookupLimit < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ def up
+ add_column :application_settings, :user_email_lookup_limit, :integer, null: false, default: 60
+ end
+
+ def down
+ remove_column :application_settings, :user_email_lookup_limit
+ end
+end
diff --git a/db/migrate/20211213154259_add_status_to_packages_package_files.rb b/db/migrate/20211213154259_add_status_to_packages_package_files.rb
new file mode 100644
index 00000000000..38ea069a30b
--- /dev/null
+++ b/db/migrate/20211213154259_add_status_to_packages_package_files.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddStatusToPackagesPackageFiles < Gitlab::Database::Migration[1.0]
+ def change
+ add_column :packages_package_files, :status, :smallint, default: 0, null: false
+ end
+end
diff --git a/db/migrate/20211213154704_add_status_index_to_packages_package_files.rb b/db/migrate/20211213154704_add_status_index_to_packages_package_files.rb
new file mode 100644
index 00000000000..7067e3efa6c
--- /dev/null
+++ b/db/migrate/20211213154704_add_status_index_to_packages_package_files.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AddStatusIndexToPackagesPackageFiles < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_packages_package_files_on_package_id_status_and_id'
+
+ def up
+ add_concurrent_index :packages_package_files, [:package_id, :status, :id], name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :packages_package_files, name: INDEX_NAME
+ end
+end
diff --git a/db/migrate/20211215182006_update_application_settings_protected_paths.rb b/db/migrate/20211215182006_update_application_settings_protected_paths.rb
new file mode 100644
index 00000000000..f1c1dde55e0
--- /dev/null
+++ b/db/migrate/20211215182006_update_application_settings_protected_paths.rb
@@ -0,0 +1,58 @@
+# frozen_string_literal: true
+
+class UpdateApplicationSettingsProtectedPaths < Gitlab::Database::Migration[1.0]
+ REMOVE_PROTECTED_PATHS = [
+ '/oauth/authorize',
+ '/oauth/token'
+ ].freeze
+
+ NEW_DEFAULT_PROTECTED_PATHS = [
+ '/users/password',
+ '/users/sign_in',
+ '/api/v3/session.json',
+ '/api/v3/session',
+ '/api/v4/session.json',
+ '/api/v4/session',
+ '/users',
+ '/users/confirmation',
+ '/unsubscribes/',
+ '/import/github/personal_access_token',
+ '/admin/session'
+ ].freeze
+
+ OLD_DEFAULT_PROTECTED_PATHS = (NEW_DEFAULT_PROTECTED_PATHS + REMOVE_PROTECTED_PATHS).freeze
+
+ class ApplicationSetting < ActiveRecord::Base
+ self.table_name = 'application_settings'
+ end
+
+ def up
+ change_column_default(:application_settings, :protected_paths, NEW_DEFAULT_PROTECTED_PATHS)
+
+ ApplicationSetting.reset_column_information
+
+ ApplicationSetting.where.not(protected_paths: nil).each do |application_setting|
+ paths_to_remove = application_setting.protected_paths & REMOVE_PROTECTED_PATHS
+
+ next if paths_to_remove.empty?
+
+ updated_protected_paths = application_setting.protected_paths - paths_to_remove
+ application_setting.update!(protected_paths: updated_protected_paths)
+ end
+ end
+
+ def down
+ change_column_default(:application_settings, :protected_paths, OLD_DEFAULT_PROTECTED_PATHS)
+
+ ApplicationSetting.reset_column_information
+
+ ApplicationSetting.where.not(protected_paths: nil).each do |application_setting|
+ paths_to_add = REMOVE_PROTECTED_PATHS - application_setting.protected_paths
+
+ next if paths_to_add.empty?
+
+ updated_protected_paths = application_setting.protected_paths + paths_to_add
+ application_setting.update!(protected_paths: updated_protected_paths)
+ end
+ end
+end
diff --git a/db/migrate/20211216133107_add_cluster_agent_id_to_vulnerability_reads.rb b/db/migrate/20211216133107_add_cluster_agent_id_to_vulnerability_reads.rb
new file mode 100644
index 00000000000..0bbd5c25df4
--- /dev/null
+++ b/db/migrate/20211216133107_add_cluster_agent_id_to_vulnerability_reads.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+class AddClusterAgentIdToVulnerabilityReads < Gitlab::Database::Migration[1.0]
+ # rubocop:disable Migration/AddLimitToTextColumns
+ # limit is added in 20211216134134_add_text_limit_to_vulnerability_reads_cluster_agent_id.rb
+ def change
+ add_column :vulnerability_reads, :cluster_agent_id, :text
+ end
+ # rubocop:enable Migration/AddLimitToTextColumns
+end
diff --git a/db/migrate/20211216134134_add_text_limit_to_vulnerability_reads_cluster_agent_id.rb b/db/migrate/20211216134134_add_text_limit_to_vulnerability_reads_cluster_agent_id.rb
new file mode 100644
index 00000000000..f4776ff10a4
--- /dev/null
+++ b/db/migrate/20211216134134_add_text_limit_to_vulnerability_reads_cluster_agent_id.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddTextLimitToVulnerabilityReadsClusterAgentId < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ def up
+ add_text_limit :vulnerability_reads, :cluster_agent_id, 10
+ end
+
+ def down
+ remove_text_limit :vulnerability_reads, :cluster_agent_id
+ end
+end
diff --git a/db/migrate/20211216135651_add_index_to_cluster_agent_id.rb b/db/migrate/20211216135651_add_index_to_cluster_agent_id.rb
new file mode 100644
index 00000000000..05928083823
--- /dev/null
+++ b/db/migrate/20211216135651_add_index_to_cluster_agent_id.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class AddIndexToClusterAgentId < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = "index_vulnerability_reads_on_cluster_agent_id"
+ CLUSTER_IMAGE_SCANNING_REPORT_TYPE = 7
+
+ def up
+ add_concurrent_index :vulnerability_reads, :cluster_agent_id, where: "report_type = #{CLUSTER_IMAGE_SCANNING_REPORT_TYPE}", name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :vulnerability_reads, INDEX_NAME
+ end
+end
diff --git a/db/migrate/20211216220939_add_group_crm_settings.rb b/db/migrate/20211216220939_add_group_crm_settings.rb
new file mode 100644
index 00000000000..e931aa3709b
--- /dev/null
+++ b/db/migrate/20211216220939_add_group_crm_settings.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddGroupCrmSettings < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def change
+ create_table :group_crm_settings, id: false do |t|
+ t.references :group, primary_key: true, foreign_key: { to_table: :namespaces, on_delete: :cascade }
+ t.timestamps_with_timezone
+ t.boolean :enabled, null: false, default: false
+ end
+ end
+end
diff --git a/db/migrate/20211217050753_remove_artifacts_archive_id_foreign_key_from_project_pages_metadata.rb b/db/migrate/20211217050753_remove_artifacts_archive_id_foreign_key_from_project_pages_metadata.rb
new file mode 100644
index 00000000000..fa81fa512ae
--- /dev/null
+++ b/db/migrate/20211217050753_remove_artifacts_archive_id_foreign_key_from_project_pages_metadata.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class RemoveArtifactsArchiveIdForeignKeyFromProjectPagesMetadata < Gitlab::Database::Migration[1.0]
+ CONSTRAINT_NAME = 'fk_69366a119e'
+
+ disable_ddl_transaction!
+
+ def up
+ with_lock_retries do
+ execute('lock table ci_job_artifacts, project_pages_metadata in access exclusive mode')
+
+ remove_foreign_key :project_pages_metadata, to_table: :ci_job_artifacts, column: :artifacts_archive_id, on_delete: :nullify, name: CONSTRAINT_NAME
+ end
+ end
+
+ def down
+ add_concurrent_foreign_key :project_pages_metadata, :ci_job_artifacts, column: :artifacts_archive_id, on_delete: :nullify, name: CONSTRAINT_NAME
+ end
+end
diff --git a/db/migrate/20211220174504_add_secure_scanning_actions_to_onboarding_progresses.rb b/db/migrate/20211220174504_add_secure_scanning_actions_to_onboarding_progresses.rb
new file mode 100644
index 00000000000..cf9f2511176
--- /dev/null
+++ b/db/migrate/20211220174504_add_secure_scanning_actions_to_onboarding_progresses.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AddSecureScanningActionsToOnboardingProgresses < Gitlab::Database::Migration[1.0]
+ def change
+ change_table(:onboarding_progresses, bulk: true) do |t|
+ t.column :secure_dependency_scanning_run_at, :datetime_with_timezone
+ t.column :secure_container_scanning_run_at, :datetime_with_timezone
+ t.column :secure_dast_run_at, :datetime_with_timezone
+ t.column :secure_secret_detection_run_at, :datetime_with_timezone
+ t.column :secure_coverage_fuzzing_run_at, :datetime_with_timezone
+ t.column :secure_cluster_image_scanning_run_at, :datetime_with_timezone
+ t.column :secure_api_fuzzing_run_at, :datetime_with_timezone
+ end
+ end
+end
diff --git a/db/migrate/20211223125921_add_temp_index_to_members_state.rb b/db/migrate/20211223125921_add_temp_index_to_members_state.rb
new file mode 100644
index 00000000000..7dd2ec1a8aa
--- /dev/null
+++ b/db/migrate/20211223125921_add_temp_index_to_members_state.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class AddTempIndexToMembersState < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'tmp_index_members_on_state'
+
+ def up
+ # Temporary index to be removed in 14.9 https://gitlab.com/gitlab-org/gitlab/-/issues/349960
+ add_concurrent_index :members, :state, name: INDEX_NAME, where: 'state = 2'
+ end
+
+ def down
+ remove_concurrent_index_by_name :members, INDEX_NAME
+ end
+end
diff --git a/db/migrate/20211224112937_add_packages_cleanup_package_file_worker_capacity_to_application_settings.rb b/db/migrate/20211224112937_add_packages_cleanup_package_file_worker_capacity_to_application_settings.rb
new file mode 100644
index 00000000000..cb58033361f
--- /dev/null
+++ b/db/migrate/20211224112937_add_packages_cleanup_package_file_worker_capacity_to_application_settings.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddPackagesCleanupPackageFileWorkerCapacityToApplicationSettings < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def change
+ add_column :application_settings,
+ :packages_cleanup_package_file_worker_capacity,
+ :smallint,
+ default: 2,
+ null: false
+ end
+end
diff --git a/db/migrate/20211224114539_add_packages_cleanup_package_file_worker_capacity_check_constraint_to_app_settings.rb b/db/migrate/20211224114539_add_packages_cleanup_package_file_worker_capacity_check_constraint_to_app_settings.rb
new file mode 100644
index 00000000000..3a40540a1e1
--- /dev/null
+++ b/db/migrate/20211224114539_add_packages_cleanup_package_file_worker_capacity_check_constraint_to_app_settings.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AddPackagesCleanupPackageFileWorkerCapacityCheckConstraintToAppSettings < Gitlab::Database::Migration[1.0]
+ CONSTRAINT_NAME = 'app_settings_p_cleanup_package_file_worker_capacity_positive'
+
+ disable_ddl_transaction!
+
+ def up
+ add_check_constraint :application_settings, 'packages_cleanup_package_file_worker_capacity >= 0', CONSTRAINT_NAME
+ end
+
+ def down
+ remove_check_constraint :application_settings, CONSTRAINT_NAME
+ end
+end
diff --git a/db/migrate/20220104174445_add_ci_runners_index_on_active_state.rb b/db/migrate/20220104174445_add_ci_runners_index_on_active_state.rb
new file mode 100644
index 00000000000..2cef570966b
--- /dev/null
+++ b/db/migrate/20220104174445_add_ci_runners_index_on_active_state.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AddCiRunnersIndexOnActiveState < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_ci_runners_on_active'
+
+ def up
+ add_concurrent_index :ci_runners, [:active, :id], name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :ci_runners, INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220105121325_add_route_namespace_reference.rb b/db/migrate/20220105121325_add_route_namespace_reference.rb
new file mode 100644
index 00000000000..77bd0530b8a
--- /dev/null
+++ b/db/migrate/20220105121325_add_route_namespace_reference.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddRouteNamespaceReference < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def up
+ add_column :routes, :namespace_id, :bigint unless column_exists?(:routes, :namespace_id)
+ end
+
+ def down
+ remove_column :routes, :namespace_id if column_exists?(:routes, :namespace_id)
+ end
+end
diff --git a/db/migrate/20220106141756_remove_lock_version_indexes.rb b/db/migrate/20220106141756_remove_lock_version_indexes.rb
new file mode 100644
index 00000000000..382f20dfc73
--- /dev/null
+++ b/db/migrate/20220106141756_remove_lock_version_indexes.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+class RemoveLockVersionIndexes < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ INDEXES = {
+ issues: 'index_issues_on_lock_version',
+ merge_requests: 'index_merge_requests_on_lock_version',
+ epics: 'index_epics_on_lock_version'
+ }
+
+ def up
+ INDEXES.each do |table, index_name|
+ remove_concurrent_index_by_name table, index_name
+ end
+ end
+
+ def down
+ INDEXES.each do |table, index_name|
+ add_concurrent_index table, :lock_version, where: "lock_version IS NULL", name: index_name
+ end
+ end
+end
diff --git a/db/migrate/20220106230629_add_registry_migration_application_settings.rb b/db/migrate/20220106230629_add_registry_migration_application_settings.rb
new file mode 100644
index 00000000000..191443de6eb
--- /dev/null
+++ b/db/migrate/20220106230629_add_registry_migration_application_settings.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AddRegistryMigrationApplicationSettings < Gitlab::Database::Migration[1.0]
+ # rubocop:disable Migration/AddLimitToTextColumns
+ # limit is added in 20220118141950_add_text_limit_to_container_registry_import_target_plan.rb
+ def change
+ add_column :application_settings, :container_registry_import_max_tags_count, :integer, default: 100, null: false
+ add_column :application_settings, :container_registry_import_max_retries, :integer, default: 3, null: false
+ add_column :application_settings, :container_registry_import_start_max_retries, :integer, default: 50, null: false
+ add_column :application_settings, :container_registry_import_max_step_duration, :integer, default: 5.minutes, null: false
+ add_column :application_settings, :container_registry_import_target_plan, :text, default: 'free', null: false
+ add_column :application_settings, :container_registry_import_created_before, :datetime_with_timezone, default: '2022-01-23 00:00:00', null: false
+ end
+ # rubocop:enable Migration/AddLimitToTextColumns
+end
diff --git a/db/migrate/20220106230712_add_migration_columns_to_container_repositories.rb b/db/migrate/20220106230712_add_migration_columns_to_container_repositories.rb
new file mode 100644
index 00000000000..76dccbe785f
--- /dev/null
+++ b/db/migrate/20220106230712_add_migration_columns_to_container_repositories.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class AddMigrationColumnsToContainerRepositories < Gitlab::Database::Migration[1.0]
+ # rubocop:disable Migration/AddLimitToTextColumns
+ # limit is added in 20220117225936_add_text_limits_to_container_repositories_migration_columns.rb
+ def change
+ add_column :container_repositories, :migration_pre_import_started_at, :datetime_with_timezone
+ add_column :container_repositories, :migration_pre_import_done_at, :datetime_with_timezone
+ add_column :container_repositories, :migration_import_started_at, :datetime_with_timezone
+ add_column :container_repositories, :migration_import_done_at, :datetime_with_timezone
+ add_column :container_repositories, :migration_aborted_at, :datetime_with_timezone
+ add_column :container_repositories, :migration_skipped_at, :datetime_with_timezone
+ add_column :container_repositories, :migration_retries_count, :integer, default: 0, null: false
+ add_column :container_repositories, :migration_skipped_reason, :smallint
+ add_column :container_repositories, :migration_state, :text, default: 'default', null: false
+ add_column :container_repositories, :migration_aborted_in_state, :text
+ end
+ # rubocop:enable Migration/AddLimitToTextColumns
+end
diff --git a/db/migrate/20220107091629_add_route_namespace_index.rb b/db/migrate/20220107091629_add_route_namespace_index.rb
new file mode 100644
index 00000000000..bc1044a24da
--- /dev/null
+++ b/db/migrate/20220107091629_add_route_namespace_index.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class AddRouteNamespaceIndex < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+ INDEX_NAME = 'index_routes_on_namespace_id'
+
+ def up
+ add_concurrent_index :routes, :namespace_id, unique: true, name: INDEX_NAME
+ add_concurrent_foreign_key :routes, :namespaces, column: :namespace_id, on_delete: :nullify, reverse_lock_order: true
+ end
+
+ def down
+ with_lock_retries do
+ remove_foreign_key_if_exists :routes, column: :namespace_id
+ end
+
+ remove_concurrent_index_by_name :routes, INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220107165036_remove_note_id_index.rb b/db/migrate/20220107165036_remove_note_id_index.rb
new file mode 100644
index 00000000000..15b4a3caf78
--- /dev/null
+++ b/db/migrate/20220107165036_remove_note_id_index.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class RemoveNoteIdIndex < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ TABLE = :suggestions
+ INDEX_NAME = 'index_suggestions_on_note_id'
+
+ def up
+ remove_concurrent_index_by_name TABLE, INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index TABLE, :note_id, name: INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220109133006_remove_ci_pipelines_lock_version_index.rb b/db/migrate/20220109133006_remove_ci_pipelines_lock_version_index.rb
new file mode 100644
index 00000000000..abbd54ff19b
--- /dev/null
+++ b/db/migrate/20220109133006_remove_ci_pipelines_lock_version_index.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class RemoveCiPipelinesLockVersionIndex < Gitlab::Database::Migration[1.0]
+ TABLE = :ci_pipelines
+ INDEX_NAME = 'tmp_index_ci_pipelines_lock_version'
+ COLUMN = :id
+
+ disable_ddl_transaction!
+
+ def up
+ remove_concurrent_index TABLE, COLUMN, where: "lock_version IS NULL", name: INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index TABLE, COLUMN, where: "lock_version IS NULL", name: INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220110170953_create_ci_secure_files.rb b/db/migrate/20220110170953_create_ci_secure_files.rb
new file mode 100644
index 00000000000..1498a2d0212
--- /dev/null
+++ b/db/migrate/20220110170953_create_ci_secure_files.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class CreateCiSecureFiles < Gitlab::Database::Migration[1.0]
+ def up
+ create_table :ci_secure_files do |t|
+ t.bigint :project_id, index: true, null: false
+ t.timestamps_with_timezone null: false
+ t.integer :file_store, limit: 2, null: false, default: 1
+ t.integer :permissions, null: false, default: 0, limit: 2
+ t.text :name, null: false, limit: 255
+ t.text :file, null: false, limit: 255
+ t.binary :checksum, null: false
+ end
+ end
+
+ def down
+ drop_table :ci_secure_files, if_exists: true
+ end
+end
diff --git a/db/migrate/20220111095006_add_maintainer_note_to_ci_runners.rb b/db/migrate/20220111095006_add_maintainer_note_to_ci_runners.rb
new file mode 100644
index 00000000000..969774983c4
--- /dev/null
+++ b/db/migrate/20220111095006_add_maintainer_note_to_ci_runners.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+class AddMaintainerNoteToCiRunners < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def change
+ # rubocop:disable Migration/AddLimitToTextColumns
+ # limit is added in 20220111095007_add_text_limit_to_ci_runners_maintainer_note.rb
+ add_column :ci_runners, :maintainer_note, :text
+ # rubocop:enable Migration/AddLimitToTextColumns
+ end
+end
diff --git a/db/migrate/20220111095007_add_text_limit_to_ci_runners_maintainer_note.rb b/db/migrate/20220111095007_add_text_limit_to_ci_runners_maintainer_note.rb
new file mode 100644
index 00000000000..0a0a4171306
--- /dev/null
+++ b/db/migrate/20220111095007_add_text_limit_to_ci_runners_maintainer_note.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddTextLimitToCiRunnersMaintainerNote < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ def up
+ add_text_limit :ci_runners, :maintainer_note, 255
+ end
+
+ def down
+ remove_text_limit :ci_runners, :maintainer_note
+ end
+end
diff --git a/db/migrate/20220111200254_remove_index_from_merge_requests.rb b/db/migrate/20220111200254_remove_index_from_merge_requests.rb
new file mode 100644
index 00000000000..0ac6019ad5e
--- /dev/null
+++ b/db/migrate/20220111200254_remove_index_from_merge_requests.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class RemoveIndexFromMergeRequests < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_merge_requests_on_title'
+
+ def up
+ remove_concurrent_index :merge_requests, :title, name: INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index :merge_requests, :title, name: INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220112115413_add_requires_verification_to_user_details.rb b/db/migrate/20220112115413_add_requires_verification_to_user_details.rb
new file mode 100644
index 00000000000..01fe4f1d5cf
--- /dev/null
+++ b/db/migrate/20220112115413_add_requires_verification_to_user_details.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class AddRequiresVerificationToUserDetails < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def change
+ add_column :user_details, :requires_credit_card_verification, :boolean, null: false, default: false
+ end
+end
diff --git a/db/migrate/20220112205111_create_security_training_providers.rb b/db/migrate/20220112205111_create_security_training_providers.rb
new file mode 100644
index 00000000000..afddec6a134
--- /dev/null
+++ b/db/migrate/20220112205111_create_security_training_providers.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+class CreateSecurityTrainingProviders < Gitlab::Database::Migration[1.0]
+ def change
+ create_table :security_training_providers do |t|
+ t.text :name, limit: 256, null: false
+ t.text :description, limit: 512
+ t.text :url, limit: 512, null: false
+ t.text :logo_url, limit: 512
+
+ t.timestamps_with_timezone null: false
+ end
+ end
+end
diff --git a/db/migrate/20220112232037_add_member_namespace_reference.rb b/db/migrate/20220112232037_add_member_namespace_reference.rb
new file mode 100644
index 00000000000..d67ea09a78c
--- /dev/null
+++ b/db/migrate/20220112232037_add_member_namespace_reference.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddMemberNamespaceReference < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def up
+ add_column :members, :member_namespace_id, :bigint unless column_exists?(:members, :member_namespace_id)
+ end
+
+ def down
+ remove_column :members, :member_namespace_id if column_exists?(:members, :member_namespace_id)
+ end
+end
diff --git a/db/migrate/20220112232605_add_member_namespace_index.rb b/db/migrate/20220112232605_add_member_namespace_index.rb
new file mode 100644
index 00000000000..ba32df53ae7
--- /dev/null
+++ b/db/migrate/20220112232605_add_member_namespace_index.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class AddMemberNamespaceIndex < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+ INDEX_NAME = 'index_members_on_member_namespace_id'
+
+ def up
+ add_concurrent_index :members, :member_namespace_id, unique: false, name: INDEX_NAME
+ add_concurrent_foreign_key :members, :namespaces, column: :member_namespace_id, on_delete: :nullify, reverse_lock_order: true
+ end
+
+ def down
+ with_lock_retries do
+ remove_foreign_key_if_exists :members, column: :member_namespace_id
+ end
+
+ remove_concurrent_index_by_name :members, INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220113125401_create_security_trainings.rb b/db/migrate/20220113125401_create_security_trainings.rb
new file mode 100644
index 00000000000..6924c7bd189
--- /dev/null
+++ b/db/migrate/20220113125401_create_security_trainings.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class CreateSecurityTrainings < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def change
+ create_table :security_trainings do |t|
+ t.references :project, null: false, foreign_key: { on_delete: :cascade }
+ t.references :provider, null: false, foreign_key: { to_table: :security_training_providers, on_delete: :cascade }
+ t.boolean :is_primary, default: false, null: false
+
+ t.timestamps_with_timezone null: false
+
+ # Guarantee that there will be only one primary per project
+ t.index :project_id, name: 'index_security_trainings_on_unique_project_id', unique: true, where: 'is_primary IS TRUE'
+ end
+ end
+end
diff --git a/db/migrate/20220114131950_add_status_only_index_to_packages_package_files.rb b/db/migrate/20220114131950_add_status_only_index_to_packages_package_files.rb
new file mode 100644
index 00000000000..948edea1138
--- /dev/null
+++ b/db/migrate/20220114131950_add_status_only_index_to_packages_package_files.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AddStatusOnlyIndexToPackagesPackageFiles < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_packages_package_files_on_status'
+
+ def up
+ add_concurrent_index :packages_package_files, :status, name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :packages_package_files, name: INDEX_NAME
+ end
+end
diff --git a/db/migrate/20220117225936_add_text_limits_to_container_repositories_migration_columns.rb b/db/migrate/20220117225936_add_text_limits_to_container_repositories_migration_columns.rb
new file mode 100644
index 00000000000..91c0612716b
--- /dev/null
+++ b/db/migrate/20220117225936_add_text_limits_to_container_repositories_migration_columns.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AddTextLimitsToContainerRepositoriesMigrationColumns < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ def up
+ add_text_limit :container_repositories, :migration_state, 255
+ add_text_limit :container_repositories, :migration_aborted_in_state, 255
+ end
+
+ def down
+ remove_text_limit :container_repositories, :migration_state
+ remove_text_limit :container_repositories, :migration_aborted_in_state
+ end
+end
diff --git a/db/migrate/20220118141950_add_text_limit_to_container_registry_import_target_plan.rb b/db/migrate/20220118141950_add_text_limit_to_container_registry_import_target_plan.rb
new file mode 100644
index 00000000000..c7247d03423
--- /dev/null
+++ b/db/migrate/20220118141950_add_text_limit_to_container_registry_import_target_plan.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddTextLimitToContainerRegistryImportTargetPlan < Gitlab::Database::Migration[1.0]
+ disable_ddl_transaction!
+
+ def up
+ add_text_limit :application_settings, :container_registry_import_target_plan, 255
+ end
+
+ def down
+ remove_text_limit :application_settings, :container_registry_import_target_plan
+ end
+end
diff --git a/db/migrate/20220118155846_add_runner_token_expiration_interval_settings_to_application_settings.rb b/db/migrate/20220118155846_add_runner_token_expiration_interval_settings_to_application_settings.rb
new file mode 100644
index 00000000000..32ca8a5fb12
--- /dev/null
+++ b/db/migrate/20220118155846_add_runner_token_expiration_interval_settings_to_application_settings.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class AddRunnerTokenExpirationIntervalSettingsToApplicationSettings < Gitlab::Database::Migration[1.0]
+ def change
+ [:runner_token_expiration_interval, :group_runner_token_expiration_interval, :project_runner_token_expiration_interval].each do |field|
+ add_column :application_settings, field, :integer
+ end
+ end
+end
diff --git a/db/migrate/20220118155847_add_runner_token_expiration_interval_settings_to_namespace_settings.rb b/db/migrate/20220118155847_add_runner_token_expiration_interval_settings_to_namespace_settings.rb
new file mode 100644
index 00000000000..7b83cb2dd55
--- /dev/null
+++ b/db/migrate/20220118155847_add_runner_token_expiration_interval_settings_to_namespace_settings.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+class AddRunnerTokenExpirationIntervalSettingsToNamespaceSettings < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def change
+ [:runner_token_expiration_interval, :subgroup_runner_token_expiration_interval, :project_runner_token_expiration_interval].each do |field|
+ add_column :namespace_settings, field, :integer
+ end
+ end
+end
diff --git a/db/migrate/20220118155848_add_runner_token_expiration_interval_settings_to_project_settings.rb b/db/migrate/20220118155848_add_runner_token_expiration_interval_settings_to_project_settings.rb
new file mode 100644
index 00000000000..ef959171828
--- /dev/null
+++ b/db/migrate/20220118155848_add_runner_token_expiration_interval_settings_to_project_settings.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class AddRunnerTokenExpirationIntervalSettingsToProjectSettings < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def change
+ add_column :project_ci_cd_settings, :runner_token_expiration_interval, :integer
+ end
+end