summaryrefslogtreecommitdiff
path: root/db/migrate/20161020180657_add_minimum_key_length_to_application_settings.rb
blob: 5b6079002c09894a1c9c1a7dcde1755be50af5e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class AddMinimumKeyLengthToApplicationSettings < ActiveRecord::Migration
  include Gitlab::Database::MigrationHelpers

  # Set this constant to true if this migration requires downtime.
  DOWNTIME = false

  disable_ddl_transaction!

  def up
    # A key restriction has these possible states:
    #
    #   * -1 means "this key type is completely disabled"
    #   * 0 means "all keys of this type are valid"
    #   * > 0 means "keys must have at least this many bits to be valid"
    #
    # The default is 0, for backward compatibility
    add_column_with_default :application_settings, :rsa_key_restriction, :integer, default: 0
    add_column_with_default :application_settings, :dsa_key_restriction, :integer, default: 0
    add_column_with_default :application_settings, :ecdsa_key_restriction, :integer, default: 0
    add_column_with_default :application_settings, :ed25519_key_restriction, :integer, default: 0
  end

  def down
    remove_column :application_settings, :rsa_key_restriction
    remove_column :application_settings, :dsa_key_restriction
    remove_column :application_settings, :ecdsa_key_restriction
    remove_column :application_settings, :ed25519_key_restriction
  end
end