From eceef546d19c16d16772868a05e6769907442f83 Mon Sep 17 00:00:00 2001
From: Marin Jankovski <maxlazio@gmail.com>
Date: Mon, 6 Oct 2014 16:50:24 +0200
Subject: [PATCH] Add slack service migration.

---
 ...41006143943_move_slack_service_to_webhook.rb | 17 +++++++++++++++++
 db/schema.rb                                    |  2 +-
 2 files changed, 18 insertions(+), 1 deletion(-)
 create mode 100644 db/migrate/20141006143943_move_slack_service_to_webhook.rb

diff --git a/db/migrate/20141006143943_move_slack_service_to_webhook.rb b/db/migrate/20141006143943_move_slack_service_to_webhook.rb
new file mode 100644
index 0000000000000..4b62b223cbfbf
--- /dev/null
+++ b/db/migrate/20141006143943_move_slack_service_to_webhook.rb
@@ -0,0 +1,17 @@
+class MoveSlackServiceToWebhook < ActiveRecord::Migration
+  def change
+    SlackService.all.each do |slack_service|
+      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!
+      end
+    end
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 4e249caa022c2..84fd12566779a 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 20140914173417) do
+ActiveRecord::Schema.define(version: 20141006143943) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "plpgsql"
-- 
GitLab