2017-06-22 15:54:23 +00:00
|
|
|
class AddUniqueConstraintToCiVariables < ActiveRecord::Migration
|
|
|
|
include Gitlab::Database::MigrationHelpers
|
|
|
|
|
|
|
|
DOWNTIME = false
|
|
|
|
|
|
|
|
disable_ddl_transaction!
|
|
|
|
|
|
|
|
def up
|
|
|
|
unless index_exists?(:ci_variables, columns)
|
|
|
|
add_concurrent_index(:ci_variables, columns, unique: true)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def down
|
2017-06-22 16:20:44 +00:00
|
|
|
if index_exists?(:ci_variables, columns) && Gitlab::Database.postgresql?
|
2017-06-22 15:54:23 +00:00
|
|
|
remove_concurrent_index(:ci_variables, columns)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def columns
|
|
|
|
@columns ||= [:project_id, :key, :environment_scope]
|
|
|
|
end
|
|
|
|
end
|