From d7fc235c1597cc286059ccfd0980a10113bf9f91 Mon Sep 17 00:00:00 2001 From: Adam Ruzicka Date: Mon, 29 Jun 2026 16:23:35 +0200 Subject: [PATCH] Fixes #39469 - Handle jsonb ignore_types in environment migration Co-Authored-By: Claude Sonnet 4.6 --- ...35305_migrate_environment_ignore_type.foreman_puppet.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/db/migrate/20220208135305_migrate_environment_ignore_type.foreman_puppet.rb b/db/migrate/20220208135305_migrate_environment_ignore_type.foreman_puppet.rb index 82d66e11..6777f787 100644 --- a/db/migrate/20220208135305_migrate_environment_ignore_type.foreman_puppet.rb +++ b/db/migrate/20220208135305_migrate_environment_ignore_type.foreman_puppet.rb @@ -1,6 +1,11 @@ class MigrateEnvironmentIgnoreType < ActiveRecord::Migration[6.0] def up - taxonomies = Taxonomy.unscoped.where("ignore_types LIKE '%Environment%'") + column_type = connection.columns(:taxonomies).find { |c| c.name == 'ignore_types' }&.sql_type + taxonomies = if column_type == 'jsonb' + Taxonomy.unscoped.where('ignore_types @> ?', ['Environment'].to_json) + else + Taxonomy.unscoped.where("ignore_types LIKE '%Environment%'") + end environment_ids = ForemanPuppet::Environment.unscoped.pluck(:id) taxonomies.each do |tax|