From b7c5cf9edb0b58d885be7783dd5f6ada756ccacd Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Thu, 21 Jul 2016 17:43:43 +0200 Subject: Don't drop in DropAndReaddHasExternalWikiInProjects Dropping a column and then re-adding it can lead to the application throwing errors as the column may temporarily not exist. To work around this we'll reset the various project rows in batches _without_ removing any columns. --- .../20160721081015_drop_and_readd_has_external_wiki_in_projects.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/db/migrate/20160721081015_drop_and_readd_has_external_wiki_in_projects.rb b/db/migrate/20160721081015_drop_and_readd_has_external_wiki_in_projects.rb index 459a120155d..1eb99feb40c 100644 --- a/db/migrate/20160721081015_drop_and_readd_has_external_wiki_in_projects.rb +++ b/db/migrate/20160721081015_drop_and_readd_has_external_wiki_in_projects.rb @@ -5,8 +5,9 @@ class DropAndReaddHasExternalWikiInProjects < ActiveRecord::Migration DOWNTIME = false def up - remove_column :projects, :has_external_wiki, :boolean - add_column :projects, :has_external_wiki, :boolean + update_column_in_batches(:projects, :has_external_wiki, nil) do |table, query| + query.where(table[:has_external_wiki].not_eq(nil)) + end end def down -- cgit v1.2.1