26 lines
686 B
Ruby
26 lines
686 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
class DeleteTemplateServicesDuplicatedByType < ActiveRecord::Migration[6.0]
|
||
|
DOWNTIME = false
|
||
|
|
||
|
def up
|
||
|
# Delete service templates with duplicated types. Keep the service
|
||
|
# template with the lowest `id` because that is the service template used:
|
||
|
# https://gitlab.com/gitlab-org/gitlab/-/blob/v12.8.1-ee/app/controllers/admin/services_controller.rb#L37
|
||
|
execute <<~SQL
|
||
|
DELETE
|
||
|
FROM services
|
||
|
WHERE TEMPLATE = TRUE
|
||
|
AND id NOT IN
|
||
|
(SELECT MIN(id)
|
||
|
FROM services
|
||
|
WHERE TEMPLATE = TRUE
|
||
|
GROUP BY TYPE);
|
||
|
SQL
|
||
|
end
|
||
|
|
||
|
def down
|
||
|
# This migration cannot be reversed.
|
||
|
end
|
||
|
end
|