Sha256: c6259e2d38b743a6cb7c60f27382b7ea2552bcde7f8a9ce807100853d8ca4582

Contents?: true

Size: 1.33 KB

Versions: 20

Compression:

Stored size: 1.33 KB

Contents

class ChangeSkinNameToId < ActiveRecord::Migration
  def self.up
    add_column :nodes, :skin_id, :integer
    add_column :idx_templates, :skin_id, :integer
    Site.all.each do |site|
      puts "===== fixing skin_id for #{site.host}"
      Skin.all(:conditions => ['site_id = ?', site.id]).each do |skin|
        puts "===== set skin_id for Skin #{skin.name}"
        execute "UPDATE nodes SET skin_id = #{skin.id} WHERE skin = #{quote(skin.name)} AND site_id = #{site.id}"
        execute "UPDATE idx_templates SET skin_id = #{skin.id} WHERE skin_name = #{quote(skin.name)} AND site_id = #{site.id}"
      end
    end
    remove_column :nodes, :skin
    remove_column :idx_templates, :skin_name
  end

  def self.down
    add_column :nodes, :skin, :string
    add_column :idx_templates, :skin_name, :string
    Site.all.each do |site|
      puts "===== reviert fix skin_id for #{site.host}"
      Skin.all(:conditions => ['site_id = ?', site.id]).each do |skin|
        puts "===== set skin to #{skin.name}"
        execute "UPDATE nodes SET skin = #{quote(skin.name)} WHERE skin_id = #{skin.id} AND site_id = #{site.id}"
        execute "UPDATE idx_templates SET skin_name = #{quote(skin.name)} WHERE skin_id = #{skin.id} AND site_id = #{site.id}"
      end
    end
    remove_column :nodes, :skin_id
    remove_column :idx_templates, :skin_id
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
zena-1.2.8 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.2.7 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.2.6 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.2.5 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.2.4 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.2.3 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.2.2 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.2.1 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.2.0 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.1.3 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.1.2 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.1.1 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.1.0 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.0.0 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.0.0.rc3 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.0.0.rc2 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.0.0.rc1 db/fix/old_migrations/20100328125634_change_skin_name_to_id.rb
zena-1.0.0.beta3 db/migrate/20100328125634_change_skin_name_to_id.rb
zena-1.0.0.beta2 db/migrate/20100328125634_change_skin_name_to_id.rb
zena-1.0.0.beta1 db/migrate/20100328125634_change_skin_name_to_id.rb