debian-mirror-gitlab/db/migrate/20200902135542_update_package_max_file_size_plan_limits.rb
2020-11-24 15:15:51 +05:30

46 lines
1.6 KiB
Ruby

# frozen_string_literal: true
class UpdatePackageMaxFileSizePlanLimits < ActiveRecord::Migration[6.0]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
def up
# this is intended to be a no-op for GitLab.com
# 5GB is the value for these columns as of 2020-09-02
if Gitlab.com?
update_all_plan_limits('conan_max_file_size', 5.gigabytes)
update_all_plan_limits('maven_max_file_size', 5.gigabytes)
update_all_plan_limits('npm_max_file_size', 5.gigabytes)
update_all_plan_limits('nuget_max_file_size', 5.gigabytes)
update_all_plan_limits('pypi_max_file_size', 5.gigabytes)
else
update_all_plan_limits('conan_max_file_size', 3.gigabytes)
update_all_plan_limits('maven_max_file_size', 3.gigabytes)
update_all_plan_limits('npm_max_file_size', 500.megabytes)
update_all_plan_limits('nuget_max_file_size', 500.megabytes)
update_all_plan_limits('pypi_max_file_size', 3.gigabytes)
end
end
def down
update_all_plan_limits('conan_max_file_size', 50.megabytes)
update_all_plan_limits('maven_max_file_size', 50.megabytes)
update_all_plan_limits('npm_max_file_size', 50.megabytes)
update_all_plan_limits('nuget_max_file_size', 50.megabytes)
update_all_plan_limits('pypi_max_file_size', 50.megabytes)
end
private
def update_all_plan_limits(limit_name, limit_value)
limit_name_quoted = quote_column_name(limit_name)
limit_value_quoted = quote(limit_value)
execute <<~SQL
UPDATE plan_limits
SET #{limit_name_quoted} = #{limit_value_quoted};
SQL
end
end