From cd22da3ebda969779c47f1652f3876daa5edd7f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Mon, 25 Jan 2016 20:00:59 +0100 Subject: Fix preventing migration from crashing in very specific cases See https://gitlab.com/gitlab-org/gitlab-ce/issues/12606 for details --- lib/gitlab/current_settings.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/gitlab/current_settings.rb b/lib/gitlab/current_settings.rb index ea054255820..429f1f9bb56 100644 --- a/lib/gitlab/current_settings.rb +++ b/lib/gitlab/current_settings.rb @@ -39,6 +39,13 @@ module Gitlab end use_db && ActiveRecord::Base.connection.active? && + # The following condition is important: if a migrations adds a + # column to the application_settings table and a validation in + # the ApplicationSetting uses this new column we might end-up in + # a vicious circle where migration crash before being done. + # See https://gitlab.com/gitlab-org/gitlab-ce/issues/12606 for + # a thorough explanation. + !ActiveRecord::Migrator.needs_migration? && ActiveRecord::Base.connection.table_exists?('application_settings') rescue ActiveRecord::NoDatabaseError -- cgit v1.2.1