From c9bb130b584d91726c8893b08b6a097f05e302db Mon Sep 17 00:00:00 2001
From: Zeger-Jan van de Weg <zegerjan@gitlab.com>
Date: Tue, 22 Mar 2016 19:36:49 +0100
Subject: [PATCH] Only rename the column if its not there yet

The problem can only arise when upgrading from a CE version to an
 EE version after last months release as in that release the table
appearances was created. But when it was created we already took
care of this rename. Thus on an upgrade the migration will fail as
the column `light_logo` is not in the table, and `header_logo` already
is.

Thus this check solve this.
---
 ...02141317_rename_header_field_on_appearrance.rb | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/db/migrate/20160302141317_rename_header_field_on_appearrance.rb b/db/migrate/20160302141317_rename_header_field_on_appearrance.rb
index d9b142db53eb771c..4d365b3f3b19bdf5 100644
--- a/db/migrate/20160302141317_rename_header_field_on_appearrance.rb
+++ b/db/migrate/20160302141317_rename_header_field_on_appearrance.rb
@@ -1,7 +1,16 @@
 class RenameHeaderFieldOnAppearrance < ActiveRecord::Migration
-  def change
-    rename_column :appearances, :light_logo, :header_logo
+  def up
+    unless column_exists?(:appearances, :header_logo)
+      rename_column :appearances, :light_logo, :header_logo
+    end
 
-    remove_column :appearances, :dark_logo
+    if column_exists?(:appearances, :dark_logo)
+      remove_column :appearances, :dark_logo
+    end
+  end
+
+  def down
+    rename_column(:appearances, :header_logo, :light_logo)
+    add_column(:appearances, :dark_logo, :string)
   end
 end
-- 
GitLab