Exclude migrations from Style/MutableConstant
This commit is contained in:
parent
32a7041030
commit
0a5b670a93
|
@ -354,6 +354,9 @@ Style/MultilineTernaryOperator:
|
|||
# mutable literal (e.g. array or hash).
|
||||
Style/MutableConstant:
|
||||
Enabled: true
|
||||
Exclude:
|
||||
- 'db/migrate/**/*'
|
||||
- 'db/post_migrate/**/*'
|
||||
|
||||
# Favor unless over if for negative conditions (or control flow or).
|
||||
Style/NegatedIf:
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
class MoveFromDevelopersCanMergeToProtectedBranchesMergeAccess < ActiveRecord::Migration
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = <<-HEREDOC.freeze
|
||||
DOWNTIME_REASON = <<-HEREDOC
|
||||
We're creating a `merge_access_level` for each `protected_branch`. If a user creates a `protected_branch` while this
|
||||
is running, we might be left with a `protected_branch` _without_ an associated `merge_access_level`. The `protected_branches`
|
||||
table must not change while this is running, so downtime is required.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
class MoveFromDevelopersCanPushToProtectedBranchesPushAccess < ActiveRecord::Migration
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = <<-HEREDOC.freeze
|
||||
DOWNTIME_REASON = <<-HEREDOC
|
||||
We're creating a `push_access_level` for each `protected_branch`. If a user creates a `protected_branch` while this
|
||||
is running, we might be left with a `protected_branch` _without_ an associated `push_access_level`. The `protected_branches`
|
||||
table must not change while this is running, so downtime is required.
|
||||
|
|
|
@ -10,7 +10,7 @@ class RemoveProjectIdFromSpamLogs < ActiveRecord::Migration
|
|||
# When a migration requires downtime you **must** uncomment the following
|
||||
# constant and define a short and easy to understand explanation as to why the
|
||||
# migration requires downtime.
|
||||
DOWNTIME_REASON = 'Removing a column that contains data that is not used anywhere.'.freeze
|
||||
DOWNTIME_REASON = 'Removing a column that contains data that is not used anywhere.'
|
||||
|
||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||
# you must disable the use of transactions as these methods can not run in an
|
||||
|
|
|
@ -2,7 +2,7 @@ class ChangeMergeErrorToText < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'This migration requires downtime because it alters a column from varchar(255) to text.'.freeze
|
||||
DOWNTIME_REASON = 'This migration requires downtime because it alters a column from varchar(255) to text.'
|
||||
|
||||
def change
|
||||
change_column :merge_requests, :merge_error, :text, limit: 65535
|
||||
|
|
|
@ -10,7 +10,7 @@ class AddTableIssueMetrics < ActiveRecord::Migration
|
|||
# When a migration requires downtime you **must** uncomment the following
|
||||
# constant and define a short and easy to understand explanation as to why the
|
||||
# migration requires downtime.
|
||||
DOWNTIME_REASON = 'Adding foreign key'.freeze
|
||||
DOWNTIME_REASON = 'Adding foreign key'
|
||||
|
||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||
# you must disable the use of transactions as these methods can not run in an
|
||||
|
|
|
@ -10,7 +10,7 @@ class AddTableMergeRequestMetrics < ActiveRecord::Migration
|
|||
# When a migration requires downtime you **must** uncomment the following
|
||||
# constant and define a short and easy to understand explanation as to why the
|
||||
# migration requires downtime.
|
||||
DOWNTIME_REASON = 'Adding foreign key'.freeze
|
||||
DOWNTIME_REASON = 'Adding foreign key'
|
||||
|
||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||
# you must disable the use of transactions as these methods can not run in an
|
||||
|
|
|
@ -7,7 +7,7 @@ class RemoveFeaturesEnabledFromProjects < ActiveRecord::Migration
|
|||
|
||||
# Set this constant to true if this migration requires downtime.
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = "Removing fields from database requires downtine.".freeze
|
||||
DOWNTIME_REASON = "Removing fields from database requires downtine."
|
||||
|
||||
def up
|
||||
remove_column :projects, :issues_enabled
|
||||
|
|
|
@ -5,7 +5,7 @@ class RemoveProjectsPushesSinceGc < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'This migration removes an existing column'.freeze
|
||||
DOWNTIME_REASON = 'This migration removes an existing column'
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ class ChangeArtifactsSizeColumn < ActiveRecord::Migration
|
|||
|
||||
DOWNTIME = true
|
||||
|
||||
DOWNTIME_REASON = 'Changing an integer column size requires a full table rewrite.'.freeze
|
||||
DOWNTIME_REASON = 'Changing an integer column size requires a full table rewrite.'
|
||||
|
||||
def up
|
||||
change_column :ci_builds, :artifacts_size, :integer, limit: 8
|
||||
|
|
|
@ -10,7 +10,7 @@ class CreateMergeRequestsClosingIssues < ActiveRecord::Migration
|
|||
# When a migration requires downtime you **must** uncomment the following
|
||||
# constant and define a short and easy to understand explanation as to why the
|
||||
# migration requires downtime.
|
||||
DOWNTIME_REASON = 'Adding foreign keys'.freeze
|
||||
DOWNTIME_REASON = 'Adding foreign keys'
|
||||
|
||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||
# you must disable the use of transactions as these methods can not run in an
|
||||
|
|
|
@ -2,7 +2,7 @@ class AddTypeToLabels < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'Labels will not work as expected until this migration is complete.'.freeze
|
||||
DOWNTIME_REASON = 'Labels will not work as expected until this migration is complete.'
|
||||
|
||||
def change
|
||||
add_column :labels, :type, :string
|
||||
|
|
|
@ -2,7 +2,7 @@ class CreateLabelPriorities < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'This migration adds foreign keys'.freeze
|
||||
DOWNTIME_REASON = 'This migration adds foreign keys'
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ class AddUniqueIndexToLabels < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'This migration removes duplicated labels.'.freeze
|
||||
DOWNTIME_REASON = 'This migration removes duplicated labels.'
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ class MigrateLabelsPriority < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'Prioritized labels will not work as expected until this migration is complete.'.freeze
|
||||
DOWNTIME_REASON = 'Prioritized labels will not work as expected until this migration is complete.'
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ class RemovePriorityFromLabels < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'This migration removes an existing column'.freeze
|
||||
DOWNTIME_REASON = 'This migration removes an existing column'
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ class MigrateSidekiqQueuesFromDefault < ActiveRecord::Migration
|
|||
|
||||
DOWNTIME = true
|
||||
|
||||
DOWNTIME_REASON = <<-EOF.freeze
|
||||
DOWNTIME_REASON = <<-EOF
|
||||
Moving Sidekiq jobs from queues requires Sidekiq to be stopped. Not stopping
|
||||
Sidekiq will result in the loss of jobs that are scheduled after this
|
||||
migration completes.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
class GenerateProjectFeatureForProjects < ActiveRecord::Migration
|
||||
DOWNTIME = true
|
||||
|
||||
DOWNTIME_REASON = <<-HEREDOC.freeze
|
||||
DOWNTIME_REASON = <<-HEREDOC
|
||||
Application was eager loading project_feature for all projects generating an extra query
|
||||
everytime a project was fetched. We removed that behavior to avoid the extra query, this migration
|
||||
makes sure all projects have a project_feature record associated.
|
||||
|
|
|
@ -12,7 +12,7 @@ class AddPipelineIdToMergeRequestMetrics < ActiveRecord::Migration
|
|||
# When a migration requires downtime you **must** uncomment the following
|
||||
# constant and define a short and easy to understand explanation as to why the
|
||||
# migration requires downtime.
|
||||
DOWNTIME_REASON = 'Adding a foreign key'.freeze
|
||||
DOWNTIME_REASON = 'Adding a foreign key'
|
||||
|
||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||
# you must disable the use of transactions as these methods can not run in an
|
||||
|
|
|
@ -8,7 +8,7 @@ class MigrateMailroomQueueFromDefault < ActiveRecord::Migration
|
|||
|
||||
DOWNTIME = true
|
||||
|
||||
DOWNTIME_REASON = <<-EOF.freeze
|
||||
DOWNTIME_REASON = <<-EOF
|
||||
Moving Sidekiq jobs from queues requires Sidekiq to be stopped. Not stopping
|
||||
Sidekiq will result in the loss of jobs that are scheduled after this
|
||||
migration completes.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
class MigrateJiraToGem < ActiveRecord::Migration
|
||||
DOWNTIME = true
|
||||
|
||||
DOWNTIME_REASON = <<-HEREDOC.freeze
|
||||
DOWNTIME_REASON = <<-HEREDOC
|
||||
Refactor all Jira services properties(serialized field) to use new jira-ruby gem.
|
||||
There were properties on old Jira service that are not needed anymore after the
|
||||
service refactoring: api_url, project_url, new_issue_url, issues_url.
|
||||
|
|
|
@ -2,7 +2,7 @@ class MigrateSubscriptionsProjectId < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'Subscriptions will not work as expected until this migration is complete.'.freeze
|
||||
DOWNTIME_REASON = 'Subscriptions will not work as expected until this migration is complete.'
|
||||
|
||||
def up
|
||||
execute <<-EOF.strip_heredoc
|
||||
|
|
|
@ -2,7 +2,7 @@ class AddUniqueIndexToSubscriptions < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'This migration requires downtime because it changes a column to not accept null values.'.freeze
|
||||
DOWNTIME_REASON = 'This migration requires downtime because it changes a column to not accept null values.'
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ class RenameRepositoryStorageColumn < ActiveRecord::Migration
|
|||
# When a migration requires downtime you **must** uncomment the following
|
||||
# constant and define a short and easy to understand explanation as to why the
|
||||
# migration requires downtime.
|
||||
DOWNTIME_REASON = 'Renaming the application_settings.repository_storage column'.freeze
|
||||
DOWNTIME_REASON = 'Renaming the application_settings.repository_storage column'
|
||||
|
||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||
# you must disable the use of transactions as these methods can not run in an
|
||||
|
|
|
@ -25,7 +25,7 @@ class MigrateProcessCommitWorkerJobs < ActiveRecord::Migration
|
|||
end
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'Existing workers will error until they are using a newer version of the code'.freeze
|
||||
DOWNTIME_REASON = 'Existing workers will error until they are using a newer version of the code'
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ class FillRoutesTable < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'No new namespaces should be created during data copy'.freeze
|
||||
DOWNTIME_REASON = 'No new namespaces should be created during data copy'
|
||||
|
||||
def up
|
||||
execute <<-EOF
|
||||
|
|
|
@ -5,7 +5,7 @@ class FillProjectsRoutesTable < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'No new projects should be created during data copy'.freeze
|
||||
DOWNTIME_REASON = 'No new projects should be created during data copy'
|
||||
|
||||
def up
|
||||
if Gitlab::Database.postgresql?
|
||||
|
|
|
@ -2,7 +2,7 @@ class MigrateProjectStatistics < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'Removes two columns from the projects table'.freeze
|
||||
DOWNTIME_REASON = 'Removes two columns from the projects table'
|
||||
|
||||
def up
|
||||
# convert repository_size in float (megabytes) to integer (bytes),
|
||||
|
|
|
@ -2,7 +2,7 @@ class FixupEnvironmentNameUniqueness < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'Renaming non-unique environments'.freeze
|
||||
DOWNTIME_REASON = 'Renaming non-unique environments'
|
||||
|
||||
def up
|
||||
environments = Arel::Table.new(:environments)
|
||||
|
@ -42,10 +42,10 @@ class FixupEnvironmentNameUniqueness < ActiveRecord::Migration
|
|||
conflicts.each do |id, name|
|
||||
update_sql =
|
||||
Arel::UpdateManager.new(ActiveRecord::Base)
|
||||
.table(environments)
|
||||
.set(environments[:name] => name + "-" + id.to_s)
|
||||
.where(environments[:id].eq(id))
|
||||
.to_sql
|
||||
.table(environments)
|
||||
.set(environments[:name] => name + "-" + id.to_s)
|
||||
.where(environments[:id].eq(id))
|
||||
.to_sql
|
||||
|
||||
connection.exec_update(update_sql, self.class.name, [])
|
||||
end
|
||||
|
|
|
@ -4,7 +4,7 @@ class CreateEnvironmentNameUniqueIndex < ActiveRecord::Migration
|
|||
disable_ddl_transaction!
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'Making a non-unique index into a unique index'.freeze
|
||||
DOWNTIME_REASON = 'Making a non-unique index into a unique index'
|
||||
|
||||
def up
|
||||
remove_index :environments, [:project_id, :name]
|
||||
|
|
|
@ -5,7 +5,7 @@ class AddEnvironmentSlug < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'Adding NOT NULL column environments.slug with dependent data'.freeze
|
||||
DOWNTIME_REASON = 'Adding NOT NULL column environments.slug with dependent data'
|
||||
|
||||
# Used to generate random suffixes for the slug
|
||||
LETTERS = 'a'..'z'
|
||||
|
|
|
@ -5,7 +5,7 @@ class AddUniqueIndexForEnvironmentSlug < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = 'Adding a *unique* index to environments.slug'.freeze
|
||||
DOWNTIME_REASON = 'Adding a *unique* index to environments.slug'
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ class AddForeignKeysToTimelogs < ActiveRecord::Migration
|
|||
# When a migration requires downtime you **must** uncomment the following
|
||||
# constant and define a short and easy to understand explanation as to why the
|
||||
# migration requires downtime.
|
||||
DOWNTIME_REASON = ''.freeze
|
||||
DOWNTIME_REASON = ''
|
||||
|
||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||
# you must disable the use of transactions as these methods can not run in an
|
||||
|
|
|
@ -2,7 +2,7 @@ class RemoveInactiveJiraServiceProperties < ActiveRecord::Migration
|
|||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = true
|
||||
DOWNTIME_REASON = "Removes all inactive jira_service properties".freeze
|
||||
DOWNTIME_REASON = "Removes all inactive jira_service properties"
|
||||
|
||||
def up
|
||||
execute("UPDATE services SET properties = '{}' WHERE services.type = 'JiraService' and services.active = false")
|
||||
|
|
|
@ -14,15 +14,15 @@ class FixProjectRecordsWithInvalidVisibility < ActiveRecord::Migration
|
|||
|
||||
finder_sql =
|
||||
projects
|
||||
.join(namespaces, Arel::Nodes::InnerJoin)
|
||||
.on(projects[:namespace_id].eq(namespaces[:id]))
|
||||
.where(projects[:visibility_level].gt(namespaces[:visibility_level]))
|
||||
.project(projects[:id], namespaces[:visibility_level])
|
||||
.take(BATCH_SIZE)
|
||||
.to_sql
|
||||
.join(namespaces, Arel::Nodes::InnerJoin)
|
||||
.on(projects[:namespace_id].eq(namespaces[:id]))
|
||||
.where(projects[:visibility_level].gt(namespaces[:visibility_level]))
|
||||
.project(projects[:id], namespaces[:visibility_level])
|
||||
.take(BATCH_SIZE)
|
||||
.to_sql
|
||||
|
||||
# Update matching rows in batches. Each batch can cause up to 3 UPDATE
|
||||
# statements, in addition to the SELECT: one per visibility_level
|
||||
# statements, in addition to the SELECT: one per visibility_level
|
||||
loop do
|
||||
to_update = connection.exec_query(finder_sql)
|
||||
break if to_update.rows.count == 0
|
||||
|
|
Loading…
Reference in New Issue