gitlab-org--gitlab-foss/db/migrate/20141006143943_move_slack_service_to_webhook.rb

23 lines
875 B
Ruby
Raw Normal View History

# rubocop:disable all
class MoveSlackServiceToWebhook < ActiveRecord::Migration[4.2]
DOWNTIME = true
DOWNTIME_REASON = 'Move old fields "token" and "subdomain" to one single field "webhook"'
2014-10-06 10:50:24 -04:00
def change
SlackService.all.each do |slack_service|
2014-10-06 10:50:24 -04:00
if ["token", "subdomain"].all? { |property| slack_service.properties.key? property }
token = slack_service.properties['token']
subdomain = slack_service.properties['subdomain']
webhook = "https://#{subdomain}.slack.com/services/hooks/incoming-webhook?token=#{token}"
slack_service.properties['webhook'] = webhook
slack_service.properties.delete('token')
slack_service.properties.delete('subdomain')
# Room is configured on the Slack side
slack_service.properties.delete('room')
slack_service.save(validate: false)
2014-10-06 10:50:24 -04:00
end
end
end
end