summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2017-03-01 11:26:44 +0100
committerRémy Coutable <remy@rymai.me>2017-03-01 11:46:44 +0100
commit11b5756e58fc521971fbaab029c2fd05ae815969 (patch)
tree37476f3d3fd1b22385aabbde6d077f0376e39753
parent11dd2348c410949c98adfc10cdcf5be787742179 (diff)
downloadgitlab-ce-28850-fix-broken-migration.tar.gz
Disable the inheritance column of services in DisableInvalidServiceTemplates migration28850-fix-broken-migration
The `unless defined?(Service)` was useless since in production env, models are eager loaded, thus we wouldn't disable the STI, resulting in the following error: The single-table inheritance mechanism failed to locate the subclass: 'GitlabCiService'. This error is raised because the column 'type' is reserved for storing the class in case of inheritance. Please rename this column if you didn't intend it to be used for storing the inheritance class or overwrite Service.inheritance_column to use another column for that information./opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170211073944_disable_invalid_service_templates.rb:11:in `up' Signed-off-by: Rémy Coutable <remy@rymai.me>
-rw-r--r--db/post_migrate/20170211073944_disable_invalid_service_templates.rb7
1 files changed, 1 insertions, 6 deletions
diff --git a/db/post_migrate/20170211073944_disable_invalid_service_templates.rb b/db/post_migrate/20170211073944_disable_invalid_service_templates.rb
index 84954b1ef64..82741ff798c 100644
--- a/db/post_migrate/20170211073944_disable_invalid_service_templates.rb
+++ b/db/post_migrate/20170211073944_disable_invalid_service_templates.rb
@@ -1,13 +1,8 @@
class DisableInvalidServiceTemplates < ActiveRecord::Migration
DOWNTIME = false
- unless defined?(Service)
- class Service < ActiveRecord::Base
- self.inheritance_column = nil
- end
- end
-
def up
+ Service.inheritance_column = nil
Service.where(template: true, active: true).each do |template|
template.update(active: false) unless template.valid?
end