gitlab-ce/db/migrate
Stan Hu d306b0d7c2 Merge branch 'use-optimistic-locking' into 'master'
Use optimistic locking

## What does this MR do?
Removes the usage of pessimistic locking in favor of optimistic which is way cheaper and doesn't block database operation.

Since this is very simple change it should be safe. If we receive `StaleObjectError` message we will reload object a retry operations in lock.

However, I still believe that we need this one: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7005 as this will reduce a load on Database and FS.
This changes a behavior from:

### Pesimistic locking (previous behavior)

#### For updating
1. SELECT * FOR UPDATE (other updates wait on this)
2. we update ci_pipeline
3. latest_build_status
4. enqueue: (use: transition :created -> :pending)
5. [state_machine] we are in  state created, we can go to pending
6. [state_machine] ci_pipeline.status = created
7. [state_machine] ci_pipeline.save
8. [state_machine] after_transition: (if for success): PipelineSuccessWorker on Sidekiq
9. release DB lock

#### If no update is required
1. SELECT * FOR UPDATE (other updates wait on this)
2. we update ci_pipeline
3. latest_build_status
4. we are in pending, we can't transition to pending, because it's forbidden
5. release DB lock

### Optimistic locking (implemented by this MR)

#### For updating
1. latest_build_status
2. enqueue: (use `transition :created -> :pending`)
3. [state_machine] we are in state created, we can go to pending
4. [state_machine] ci_pipeline.status = created
5. [state_machine] ci_pipeline.save
6. [state_machine] [save] where(lock_version: ci_pipeline.lock_version).update_all(status: :created, updated_at: Time.now)
7. [state_machine] [save] unless we_updated_row then raise ObjectInconsistentError

#### If no update is required
1. we update ci_pipeline
2. latest_build_status
3. we are in pending, we can't transition to pending, because it's forbidden

## Why was this MR needed?
We have been seeing a number of problems when we migrated Pipeline/Build processing to Sidekiq. Especially we started seeing a lot of blocking queries.

We used a pessimistic locking which doesn't seem to be required. This effectively allows us to fix our issues with blocked queries by using more efficient method of operation.

## What are the relevant issue numbers?
Issues: https://gitlab.com/gitlab-com/infrastructure/issues/623 and https://gitlab.com/gitlab-com/infrastructure/issues/584, but also there's a bunch of Merge Requests that try to improve behavior of scheduled jobs.

cc @pcarranza @yorickpeterse @stanhu

See merge request !7040
2016-10-28 14:41:24 +00:00
..
20121220064453_init_schema.rb
20130102143055_rename_owner_to_creator_for_project.rb
20130110172407_add_public_to_project.rb
20130123114545_add_issues_tracker_to_project.rb
20130125090214_add_user_permissions.rb
20130131070232_remove_private_flag_from_project.rb
20130206084024_add_description_to_namsespace.rb
20130207104426_add_description_to_teams.rb
20130211085435_add_issues_tracker_id_to_project.rb
20130214154045_rename_state_to_merge_status_in_milestone.rb
20130218140952_add_state_to_issue.rb
20130218141038_add_state_to_merge_request.rb
20130218141117_add_state_to_milestone.rb
20130218141258_convert_closed_to_state_in_issue.rb
20130218141327_convert_closed_to_state_in_merge_request.rb
20130218141344_convert_closed_to_state_in_milestone.rb
20130218141444_remove_merged_from_merge_request.rb
20130218141507_remove_closed_from_issue.rb
20130218141536_remove_closed_from_merge_request.rb
20130218141554_remove_closed_from_milestone.rb
20130220124204_add_new_merge_status_to_merge_request.rb
20130220125544_convert_merge_status_in_merge_request.rb
20130220125545_remove_merge_status_from_merge_request.rb
20130220133245_rename_new_merge_status_to_merge_status_in_milestone.rb
20130304104623_add_state_to_user.rb
20130304104740_convert_blocked_to_state.rb
20130304105317_remove_blocked_from_user.rb
20130315124931_user_color_scheme.rb
20130318212250_add_snippets_to_features.rb
20130319214458_create_forked_project_links.rb
20130323174317_add_private_to_snippets.rb
20130324151736_add_type_to_snippets.rb
20130324172327_change_project_id_to_null_in_snipepts.rb
20130324203535_add_type_value_for_snippets.rb
20130325173941_add_notification_level_to_user.rb
20130326142630_add_index_to_users_authentication_token.rb
20130403003950_add_last_activity_column_into_project.rb
20130404164628_add_notification_level_to_user_project.rb
20130410175022_remove_wiki_table.rb
20130419190306_allow_merges_for_forks.rb
20130506085413_add_type_to_key.rb
20130506090604_create_deploy_keys_projects.rb
20130506095501_remove_project_id_from_key.rb
20130522141856_add_more_fields_to_service.rb
20130528184641_add_system_to_notes.rb
20130611210815_increase_snippet_text_column_size.rb
20130613165816_add_password_expires_at_to_users.rb
20130613173246_add_created_by_id_to_user.rb
20130614132337_add_improted_to_project.rb
20130617095603_create_users_groups.rb
20130621195223_add_notification_level_to_user_group.rb
20130622115340_add_more_db_index.rb
20130624162710_add_fingerprint_to_key.rb
20130711063759_create_project_group_links.rb
20130804151314_add_st_diff_to_note.rb
20130809124851_add_permission_check_to_user.rb
20130812143708_add_import_url_to_project.rb
20130819182730_add_internal_ids_to_issues_and_mr.rb
20130820102832_add_access_to_project_group_link.rb
20130821090530_remove_deprecated_tables.rb
20130821090531_add_internal_ids_to_milestones.rb
20130909132950_add_description_to_merge_request.rb
20130926081215_change_owner_id_for_group.rb
20131005191208_add_avatar_to_users.rb
20131009115346_add_confirmable_to_users.rb
20131106151520_remove_default_branch.rb
20131112114325_create_broadcast_messages.rb
20131112220935_add_visibility_level_to_projects.rb
20131129154016_add_archived_to_projects.rb
20131130165425_add_color_and_font_to_broadcast_messages.rb
20131202192556_add_event_fields_for_web_hook.rb
20131214224427_add_hide_no_ssh_key_to_users.rb
20131217102743_add_recipients_to_service.rb
20140116231608_add_website_url_to_users.rb
20140122112253_create_merge_request_diffs.rb
20140122114406_migrate_mr_diffs.rb
20140122122549_remove_m_rdiff_fields.rb
20140125162722_add_avatar_to_projects.rb
20140127170938_add_group_avatars.rb
20140209025651_create_emails.rb
20140214102325_add_api_key_to_services.rb
20140304005354_add_index_merge_request_diffs_on_merge_request_id.rb
20140305193308_add_tag_push_hooks_to_project_hook.rb
20140312145357_add_import_status_to_project.rb
20140313092127_migrate_already_imported_projects.rb
20140407135544_fix_namespaces.rb
20140414131055_change_state_to_allow_empty_merge_request_diffs.rb
20140415124820_limits_to_mysql.rb
20140416074002_add_index_on_iid.rb
20140416185734_index_on_current_sign_in_at.rb
20140428105831_add_notes_index_updated_at.rb
20140502115131_add_repo_size_to_db.rb
20140502125220_migrate_repo_size.rb Update references to deprecated `repos_path` configuration key to avoid 2016-09-14 21:19:24 -03:00
20140611135229_add_position_to_merge_request.rb
20140625115202_create_users_star_projects.rb
20140729134820_create_labels.rb
20140729140420_create_label_links.rb
20140729145339_migrate_project_tags.rb
20140729152420_migrate_taggable_labels.rb
20140730111702_add_index_to_labels.rb
20140903115954_migrate_to_new_shell.rb
20140907220153_serialize_service_properties.rb
20140914113604_add_members_table.rb
20140914145549_migrate_to_new_members_model.rb
20140914173417_remove_old_member_tables.rb
20141006143943_move_slack_service_to_webhook.rb
20141007100818_add_visibility_level_to_snippet.rb
20141118150935_add_audit_event.rb
20141121133009_add_timestamps_to_members.rb
20141121161704_add_identity_table.rb
20141205134006_add_locked_at_to_merge_request.rb
20141216155758_create_doorkeeper_tables.rb
20141217125223_add_owner_to_application.rb
20141223135007_add_import_data_to_project_table.rb
20141226080412_add_developers_can_push_to_protected_branches.rb
20150108073740_create_application_settings.rb
20150116234544_add_home_page_url_for_application_settings.rb
20150116234545_add_gitlab_access_token_to_user.rb
20150125163100_add_default_branch_protection_setting.rb
20150205211843_add_timestamps_to_identities.rb
20150206181414_add_index_to_created_at.rb
20150206222854_add_notification_email_to_user.rb
20150209222013_add_missing_index.rb
20150211172122_add_template_to_service.rb
20150211174341_allow_null_in_services_project_id.rb
20150213104043_add_twitter_sharing_enabled_to_application_settings.rb
20150213114800_add_hide_no_password_to_user.rb
20150213121042_add_password_automatically_set_to_user.rb
20150217123345_add_bitbucket_access_token_and_secret_to_user.rb
20150219004514_add_events_to_services.rb
20150223022001_set_missing_last_activity_at.rb
20150225065047_add_note_events_to_services.rb
20150301014758_add_restricted_visibility_levels_to_application_settings.rb
20150306023106_fix_namespace_duplication.rb
20150306023112_add_unique_index_to_namespace.rb
20150310194358_add_version_check_to_application_settings.rb
20150313012111_create_subscriptions_table.rb
20150320234437_add_location_to_user.rb
20150324155957_set_incorrect_assignee_id_to_null.rb
20150327122227_add_public_to_key.rb
20150327150017_add_import_data_to_project.rb
20150327223628_add_devise_two_factor_to_users.rb
20150328132231_add_max_attachment_size_to_application_settings.rb
20150331183602_add_devise_two_factor_backupable_to_users.rb
20150406133311_add_invite_data_to_member.rb
20150411000035_fix_identities.rb
20150411180045_rename_buildbox_service.rb
20150413192223_add_public_email_to_users.rb
20150417121913_create_project_import_data.rb
20150417122318_remove_import_data_from_project.rb
20150421120000_remove_periods_at_ends_of_usernames.rb
20150423033240_add_default_project_visibililty_to_application_settings.rb
20150425164646_gitlab_change_collation_for_tag_names.acts_as_taggable_on_engine.rb
20150425164647_remove_duplicate_tags.rb
20150425164648_add_missing_unique_indices.acts_as_taggable_on_engine.rb
20150425164649_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb
20150425164650_add_missing_taggable_index.acts_as_taggable_on_engine.rb
20150425164651_change_collation_for_tag_names.acts_as_taggable_on_engine.rb
20150425173433_add_default_snippet_visibility_to_app_settings.rb
20150429002313_remove_abandoned_group_members_records.rb
20150502064022_add_restricted_signup_domains_to_application_settings.rb
20150509180749_convert_legacy_reference_notes.rb
20150516060434_add_note_events_to_web_hooks.rb
20150529111607_add_user_oauth_applications_to_application_settings.rb
20150529150354_add_after_sign_out_path_for_application_settings.rb
20150609141121_add_session_expire_delay_for_application_settings.rb
20150610065936_add_dashboard_to_users.rb
20150620233230_add_default_otp_required_for_login_value.rb
20150713160110_add_project_view_to_users.rb
20150717130904_add_commits_count_to_project.rb
20150730122406_add_updated_by_to_issuables_and_notes.rb
20150806104937_create_abuse_reports.rb
20150812080800_add_settings_import_sources.rb
20150814065925_remove_oauth_tokens_from_users.rb
20150817163600_deduplicate_user_identities.rb
20150818213832_add_sent_notifications.rb
20150824002011_add_enable_ssl_verification.rb
20150826001931_add_ci_tables.rb
20150902001023_add_template_to_label.rb
20150914215247_add_ci_tags.rb
20150915001905_enable_ssl_verification_by_default.rb
20150916000405_enable_ssl_verification_for_web_hooks.rb
20150916114643_add_help_page_text_to_application_settings.rb
20150916145038_add_index_for_committed_at_and_id.rb
20150918084513_add_ci_enabled_to_application_settings.rb
20150918161719_remove_invalid_milestones_from_merge_requests.rb
20150920010715_add_consumed_timestep_to_users.rb
20150920161119_add_line_code_to_sent_notification.rb
20150924125150_add_project_id_to_ci_commit.rb
20150924125436_migrate_project_id_for_ci_commits.rb
20150930001110_merge_request_error_field.rb
20150930095736_add_null_to_name_for_ci_projects.rb
20150930110012_add_group_share_lock.rb
20151002112914_add_stage_idx_to_builds.rb
20151002121400_add_index_for_builds.rb
20151002122929_add_ref_and_tag_to_builds.rb
20151002122943_migrate_ref_and_tag_to_build.rb
20151005075649_add_user_id_to_build.rb
20151005150751_add_layout_option_for_users.rb
20151005162154_remove_ci_enabled_from_application_settings.rb
20151007120511_namespaces_projects_path_lower_indexes.rb
20151008110232_add_users_lower_username_email_indexes.rb
20151008123042_add_type_and_description_to_builds.rb
20151008130321_migrate_name_to_description_for_builds.rb
20151008143519_add_admin_notification_email_setting.rb
20151012173029_set_jira_service_api_url.rb
20151013092124_add_artifacts_file_to_builds.rb
20151016131433_add_ci_projects_gl_project_id_index.rb
20151016195451_add_ci_builds_and_projects_indexes.rb
20151016195706_add_notes_line_code_index.rb
20151019111551_fix_build_tags.rb
20151019111703_fail_build_without_names.rb
20151020145526_add_services_template_index.rb
20151020173516_ci_limits_to_mysql.rb
20151020173906_add_ci_builds_index_for_status.rb
20151023112551_fail_build_with_empty_name.rb
20151023144219_remove_satellites.rb
20151026182941_add_project_path_index.rb
20151028152939_add_merge_when_build_succeeds_to_merge_request.rb
20151103001141_add_public_to_group.rb
20151103133339_add_shared_runners_setting.rb
20151103134857_create_lfs_objects.rb
20151103134958_create_lfs_objects_projects.rb
20151104105513_add_file_to_lfs_objects.rb
20151105094515_create_releases.rb
20151106000015_add_is_award_to_notes.rb
20151109100728_add_max_artifacts_size_to_application_settings.rb
20151109134526_add_issues_state_index.rb
20151109134916_add_projects_visibility_level_index.rb
20151110125604_add_import_error_to_project.rb
20151114113410_add_index_for_lfs_oid_and_size.rb
20151116144118_add_unique_for_lfs_oid_index.rb
20151118162244_add_projects_public_index.rb
20151201203948_raise_hook_url_limit.rb
20151203162133_add_hide_project_limit_to_users.rb
20151203162134_add_build_events_to_services.rb
20151209144329_migrate_ci_web_hooks.rb
20151209145909_migrate_ci_emails.rb
20151210030143_add_unlock_token_to_user.rb
20151210072243_add_runners_registration_token_to_application_settings.rb
20151210125232_migrate_ci_slack_service.rb
20151210125927_migrate_ci_hip_chat_service.rb
20151210125928_add_ci_to_project.rb
20151210125929_add_project_id_to_ci.rb
20151210125930_migrate_ci_to_project.rb
20151210125931_add_index_to_ci_tables.rb
20151210125932_drop_null_for_ci_tables.rb
20151218154042_add_tfa_to_application_settings.rb
20151221234414_add_tfa_additional_fields.rb
20151224123230_rename_emojis.rb
20151228111122_remove_public_from_namespace.rb
20151228150906_influxdb_settings.rb
20151228175719_add_recaptcha_to_application_settings.rb
20151229102248_influxdb_udp_port_setting.rb
20151229112614_influxdb_remote_database_setting.rb
20151230132518_add_artifacts_metadata_to_ci_build.rb
20151231152326_add_akismet_to_application_settings.rb
20151231202530_remove_alert_type_from_broadcast_messages.rb
20160106162223_add_index_milestones_title.rb
20160106164438_remove_influxdb_credentials.rb
20160109054846_create_spam_logs.rb
20160113111034_add_metrics_sample_interval.rb
20160118155830_add_sentry_to_application_settings.rb
20160118232755_add_ip_blocking_settings_to_application_settings.rb
20160119111158_add_services_category.rb
20160119112418_add_services_default.rb
20160119145451_add_ldap_email_to_users.rb
20160120172143_add_base_commit_sha_to_merge_request_diffs.rb
20160121030729_add_email_author_in_body_to_application_settings.rb
20160122185421_add_pending_delete_to_project.rb
20160128212447_remove_ip_blocking_settings_from_application_settings.rb
20160128233227_change_lfs_objects_size_column.rb
20160129135155_remove_dot_atom_path_ending_of_projects.rb
20160129155512_add_merge_commit_sha_to_merge_requests.rb
20160202091601_add_erasable_to_ci_build.rb
20160202164642_add_allow_guest_to_access_builds_project.rb
20160204144558_add_real_size_to_merge_request_diffs.rb
20160209130428_add_index_to_snippet.rb
20160212123307_create_tasks.rb
20160217100506_add_description_to_label.rb
20160217174422_add_note_to_tasks.rb
20160220123949_rename_tasks_to_todos.rb
20160222153918_create_appearances_ce.rb
20160223192159_add_confidential_to_issues.rb
20160225090018_add_delete_at_to_issues.rb
20160225101956_add_delete_at_to_merge_requests.rb
20160226114608_add_trigram_indexes_for_searching.rb
20160227120001_add_event_field_for_web_hook.rb
20160227120047_add_event_to_services.rb
20160229193553_add_main_language_to_repository.rb
20160301124843_add_visibility_level_to_groups.rb
20160302151724_add_import_credentials_to_project_import_data.rb
20160302152808_remove_wrong_import_url_from_projects.rb
20160305220806_remove_expires_at_from_snippets.rb
20160307221555_disallow_blank_line_code_on_note.rb
20160308212903_add_default_group_visibility_to_application_settings.rb
20160309140734_fix_todos.rb
20160310124959_add_due_date_to_issues.rb
20160310185910_add_external_flag_to_users.rb
20160314094147_add_priority_to_label.rb
20160314114439_add_requested_at_to_members.rb
20160314143402_projects_add_pushes_since_gc.rb
20160315135439_project_add_repository_check.rb
20160316123110_ci_runners_token_index.rb
20160316192622_change_target_id_to_null_on_todos.rb
20160316204731_add_commit_id_to_todos.rb
20160317092222_add_moved_to_to_issue.rb
20160320204112_index_namespaces_on_visibility_level.rb
20160324020319_remove_todos_for_deleted_issues.rb
20160328112808_create_notification_settings.rb
20160328115649_migrate_new_notification_setting.rb
20160328121138_add_notification_setting_index.rb
20160329144452_add_index_on_pending_delete_projects.rb
20160331133914_remove_todos_for_deleted_merge_requests.rb
20160331223143_remove_twitter_sharing_enabled_from_application_settings.rb
20160407120251_add_images_enabled_for_project.rb
20160412140240_add_repository_checks_enabled_setting.rb
20160412173416_add_fields_to_ci_commit.rb
20160412173417_update_ci_commit.rb
20160412173418_add_ci_commit_indexes.rb
20160413115152_add_token_to_web_hooks.rb
20160415062917_create_personal_access_tokens.rb
20160415133440_add_shared_runners_text_to_application_settings.rb
20160416180807_add_award_emoji.rb
20160416182152_convert_award_note_to_emoji_award.rb
20160419120017_add_metrics_packet_size.rb
20160419122101_add_only_allow_merge_if_build_succeeds_to_projects.rb
20160421130527_disable_repository_checks.rb
20160425045124_create_u2f_registrations.rb
20160504091942_add_disabled_oauth_sign_in_sources_to_application_settings.rb
20160504112519_add_run_untagged_to_ci_runner.rb
20160508194200_remove_wall_enabled_from_projects.rb
20160508202603_add_head_commit_id_to_merge_request_diffs.rb
20160508215820_add_type_to_notes.rb
20160508215920_add_positions_to_diff_notes.rb
20160508221410_set_type_on_legacy_diff_notes.rb
20160509091049_add_locked_to_ci_runner.rb
20160509201028_add_health_check_access_token_to_application_settings.rb
20160516174813_add_send_user_confirmation_email_to_application_settings.rb
20160516224534_add_start_commit_id_to_merge_request_diffs.rb
20160518200441_add_artifacts_expire_date_to_ci_builds.rb
20160519203051_add_developers_can_merge_to_protected_branches.rb
20160522215720_add_note_type_and_position_to_sent_notification.rb
20160525205328_remove_main_language_from_projects.rb
20160527020117_remove_notification_settings_for_deleted_projects.rb
20160528043124_add_users_state_index.rb
20160530150109_add_container_registry_token_expire_delay_to_application_settings.rb
20160603075128_add_has_external_issue_tracker_to_projects.rb
20160603180330_remove_duplicated_notification_settings.rb
20160603182247_add_index_to_notification_settings.rb
20160608155312_add_after_sign_up_text_to_application_settings.rb
20160608195742_add_repository_storage_to_projects.rb
20160608211215_add_user_default_external_to_application_settings.rb
20160610140403_remove_notification_setting_not_null_constraints.rb
20160610194713_remove_deprecated_issues_tracker_columns_from_projects.rb
20160610201627_migrate_users_notification_level.rb
20160610204157_add_deployments.rb
20160610204158_add_environments.rb
20160610211845_add_environment_to_builds.rb
20160610301627_remove_notification_level_from_users.rb
20160614182521_add_repository_storage_to_application_settings.rb
20160615142710_add_index_on_requested_at_to_members.rb
20160615173316_add_enabled_git_access_protocols_to_application_settings.rb
20160615191922_set_missing_stage_on_ci_builds.rb
20160616084004_change_project_of_environment.rb
20160616102642_remove_duplicated_keys.rb
20160616103005_remove_keys_fingerprint_index_if_exists.rb
20160616103948_add_unique_index_to_keys_fingerprint.rb
20160617301627_add_events_to_notification_settings.rb
20160620115026_add_index_on_runners_locked.rb
20160628085157_add_artifacts_size_to_ci_builds.rb
20160629025435_add_column_in_progress_merge_commit_sha_to_merge_requests.rb
20160703180340_add_index_on_award_emoji_user_and_name.rb
20160705054938_add_protected_branches_push_access.rb
20160705054952_add_protected_branches_merge_access.rb
20160705055254_move_from_developers_can_merge_to_protected_branches_merge_access.rb
20160705055308_move_from_developers_can_push_to_protected_branches_push_access.rb
20160705055809_remove_developers_can_push_from_protected_branches.rb
20160705055813_remove_developers_can_merge_from_protected_branches.rb
20160705163108_remove_requesters_that_are_owners.rb
20160707104333_add_lock_to_issuables.rb Revert the revert of Optimistic Locking 2016-08-22 18:43:13 +03:00
20160712171823_remove_award_emojis_with_no_user.rb
20160713205315_add_domain_blacklist_to_application_settings.rb
20160715132507_add_user_id_to_pipeline.rb
20160715134306_add_index_for_pipeline_user_id.rb
20160715154212_add_request_access_enabled_to_projects.rb
20160715204316_add_request_access_enabled_to_groups.rb
20160715230841_rename_application_settings_restricted_signup_domains.rb
20160716115710_add_when_and_yaml_variables_to_ci_builds.rb
20160716115711_add_queued_at_to_ci_builds.rb
20160718153603_add_has_external_wiki_to_projects.rb
20160721081015_drop_and_readd_has_external_wiki_in_projects.rb
20160722221922_nullify_blank_type_on_notes.rb
20160724205507_add_resolved_to_notes.rb
20160725083350_add_external_url_to_enviroments.rb
20160725104020_merge_request_diff_remove_uniq.rb Fix migration for removing MR diff indexes 2016-09-14 16:18:49 +02:00
20160725104452_merge_request_diff_add_index.rb
20160727163552_create_user_agent_details.rb
20160727191041_create_boards.rb Add Board model 2016-08-17 12:58:57 -03:00
20160727193336_create_lists.rb Order board lists by list_type, and position 2016-08-17 12:58:57 -03:00
20160728081025_add_pipeline_events_to_web_hooks.rb
20160728103734_add_pipeline_events_to_services.rb
20160729173930_remove_project_id_from_spam_logs.rb
20160801163421_add_expires_at_to_member.rb
20160801163709_add_submitted_as_ham_to_spam_logs.rb
20160802010328_remove_builds_enable_index_on_projects.rb
20160803161903_add_unique_index_to_lists_label_id.rb Ensure that we have only one list per label per board 2016-08-17 12:58:58 -03:00
20160804150737_add_timestamps_to_members_again.rb
20160805041956_add_deleted_at_to_namespaces.rb
20160808085531_add_token_to_build.rb Use a permissions of user to access all dependent projects from CI jobs (this also includes a container images, and in future LFS files) 2016-09-13 13:30:26 +02:00
20160808085602_add_index_for_build_token.rb Use a permissions of user to access all dependent projects from CI jobs (this also includes a container images, and in future LFS files) 2016-09-13 13:30:26 +02:00
20160810102349_remove_ci_runner_trigram_indexes.rb
20160810142633_remove_redundant_indexes.rb
20160816161312_add_column_name_to_u2f_registrations.rb Allow naming U2F devices. 2016-08-18 22:12:02 +05:30
20160817133006_add_koding_to_application_settings.rb Support integration with Koding (online IDE) 2016-08-19 12:10:58 -07:00
20160817154936_add_discussion_ids_to_notes.rb Store discussion_id on Note for faster discussion lookup. 2016-08-17 12:16:46 -05:00
20160818205718_add_expires_at_to_project_group_links.rb Allow project group links to be expired 2016-08-18 22:45:41 +01:00
20160819221631_add_index_to_note_discussion_id.rb Call `set_discussion_id` again in DiffNote `before_validation` because the order is important 2016-08-19 18:24:12 -05:00
20160819221833_reset_diff_note_discussion_id_because_it_was_calculated_wrongly.rb Call `set_discussion_id` again in DiffNote `before_validation` because the order is important 2016-08-19 18:24:12 -05:00
20160823081327_change_merge_error_to_text.rb Change merge_error column from string to text type 2016-08-23 08:32:38 -07:00
20160823213309_add_lfs_enabled_to_projects.rb Renamed `enable_lfs` to `lfs_enabled` for the Project field, and related fixes. 2016-08-30 17:17:45 -05:00
20160824103857_drop_unused_ci_tables.rb Drop unused CI tables and files 2016-08-26 21:30:37 +01:00
20160824124900_add_table_issue_metrics.rb Fix `ON DELETE CASCADE` migrations. 2016-09-20 16:31:52 +05:30
20160825052008_add_table_merge_request_metrics.rb Implement a second round of review comments from @DouweM. 2016-09-21 00:47:37 +05:30
20160827011312_ensure_lock_version_has_no_default.rb Remove default value for lock_version 2016-08-30 23:50:22 +03:00
20160829114652_add_markdown_cache_columns.rb Add markdown cache columns to the database, but don't use them yet 2016-10-07 02:54:25 +01:00
20160830203109_add_confidential_issues_events_to_web_hooks.rb Add option to confidential issues events to trigger Webhooks 2016-08-31 18:34:23 -03:00
20160830211132_add_confidential_issues_events_to_services.rb Add option to confidential issues events to trigger services 2016-08-31 18:34:45 -03:00
20160830232601_change_lock_version_not_null.rb Remove not-null constraint on lock_version column if it exists 2016-08-30 16:29:11 -07:00
20160831214002_create_project_features.rb Project tools visibility level 2016-09-01 11:47:59 -03:00
20160831214543_migrate_project_features.rb Project tools visibility level 2016-09-01 11:47:59 -03:00
20160831223750_remove_features_enabled_from_projects.rb Project tools visibility level 2016-09-01 11:47:59 -03:00
20160901141443_set_confidential_issues_events_on_webhooks.rb Add migration to set confidential issues events on web hooks 2016-09-01 11:23:15 -03:00
20160901213340_add_lfs_enabled_to_namespaces.rb Improved helper methods, better flow for `project.lfs_enabled?`, and UI fixes. 2016-09-15 12:27:32 -05:00
20160902122721_drop_gitorious_field_from_application_settings.rb Support empty PG database too 2016-09-06 12:13:45 +02:00
20160907131111_add_environment_type_to_environments.rb Cleanup changes 2016-09-19 10:07:14 +02:00
20160913162434_remove_projects_pushes_since_gc.rb Fix undefined method when reverting migration RemoveProjectsPushesSinceGc 2016-09-15 22:45:48 -03:00
20160913212128_change_artifacts_size_column.rb Increase ci_builds artifacts_size column to 8-byte integer to allow larger files 2016-09-15 21:52:34 -05:00
20160915042921_create_merge_requests_closing_issues.rb Fix `ON DELETE CASCADE` migrations. 2016-09-20 16:31:52 +05:30
20160919144305_add_type_to_labels.rb Add column type to labels and do the batch update in the same migration 2016-10-19 14:58:25 -02:00
20160919145149_add_group_id_to_labels.rb Add GroupLabel model 2016-10-19 14:57:14 -02:00
20160920160832_add_index_to_labels_title.rb Add index on labels title 2016-09-23 13:19:16 +02:00
20160926145521_add_organization_to_user.rb Improvements to user organization field feature after code review 2016-09-27 14:04:39 +03:00
20161006104309_add_state_to_environment.rb Refactor code to use available and stopped statuses and refactor views to use separate renders 2016-10-17 12:45:31 +02:00
20161007133303_precalculate_trending_projects.rb Precalculate trending projects 2016-10-10 12:27:08 +02:00
20161011222551_remove_inactive_jira_service_properties.rb Finish updates to use JIRA gem 2016-10-26 15:02:16 -02:00
20161012180455_add_repository_access_level_to_project_feature.rb Add visibility level to project repository 2016-10-17 18:12:18 -02:00
20161014173530_create_label_priorities.rb Split migration to create label priorities 2016-10-19 14:58:27 -02:00
20161017095000_add_properties_to_deployment.rb Add on_stop column [ci skip] 2016-10-17 15:34:30 +02:00
20161017125927_add_unique_index_to_labels.rb Fix broken label uniqueness label migration 2016-10-21 12:45:10 +02:00
20161018024215_migrate_labels_priority.rb Split migration to create label priorities 2016-10-19 14:58:27 -02:00
20161018024550_remove_priority_from_labels.rb Split migration to create label priorities 2016-10-19 14:58:27 -02:00
20161018124658_make_project_owners_masters.rb Fix project member access levels 2016-10-21 12:57:53 +03:00
20161019190736_migrate_sidekiq_queues_from_default.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
20161019213545_generate_project_feature_for_projects.rb Create project feature when project is created 2016-10-19 20:00:52 -02:00
20161021114307_add_lock_version_to_build_and_pipelines.rb Use optimistic locking 2016-10-26 11:37:23 +02:00
20161024042317_migrate_mailroom_queue_from_default.rb Fix reply-by-email not working due to queue name mismatch 2016-10-23 21:35:52 -07:00
20161025231710_migrate_jira_to_gem.rb Finish updates to use JIRA gem 2016-10-26 15:02:16 -02:00
limits_to_mysql.rb