Sha256: 9c67f08eb9e80289c83e432c770b55fda9f0e42f98da9302851a3b90b5a41d08

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

class ChangeTemplatekindToBootdisk < ActiveRecord::Migration
  class FakeConfigTemplate < ActiveRecord::Base
    if ActiveRecord::Migrator.get_all_versions.include?(20150514072626)
      self.table_name = 'templates'
    else
      self.table_name = 'config_templates'
    end
  end

  def self.up
    kind = TemplateKind.find_or_create_by_name('Bootdisk')

    tmpl_h = Setting.find_by_name('bootdisk_host_template').try(:value)
    tmpl_g = Setting.find_by_name('bootdisk_generic_host_template').try(:value)

    (FakeConfigTemplate.unscoped.where('name LIKE ?', '%Boot disk%') |
      FakeConfigTemplate.unscoped.where(:name => [tmpl_h, tmpl_g].compact)).each do |tmpl|
      tmpl.update_attribute(:template_kind_id, kind.id)
    end
  end

  def self.down
    old_kind = TemplateKind.find_by_name('Bootdisk')
    new_kind = TemplateKind.find_by_name('iPXE')
    if old_kind.present? && new_kind.present?
      FakeConfigTemplate.unscoped.where(:template_kind_id => old_kind.id).update_all(:template_kind_id => new_kind.id)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
foreman_bootdisk-6.0.0 db/migrate/20140522185700_change_templatekind_to_bootdisk.rb