Sha256: ae8955987ce610f82c6be654a7db7a6a9b2113710dc076a5c26d405661c73f81

Contents?: true

Size: 1.21 KB

Versions: 96

Compression:

Stored size: 1.21 KB

Contents

class ChangeColumns < ActiveRecord::Migration
  def self.up
    [:mods, :servers, :repositories].each do |t|
      change_column(t, :id, :string, :limit => 36, :null => false, :primary => true)
    end

    [[:mods_servers, [:server_id, :mod_id]], [:mods_sixconfigs, :mod_id], [:servers_sixconfigs, :server_id]].each do |e|
      bla_up(e)
    end
    drop_table :mods_repositories
    drop_table :repositories_servers
  end

  def self.down
    [:mods, :servers, :repositories].each do |t|
      change_column(t, :id, :integer)
    end
    [[:mods_servers, [:server_id, :mod_id]], [:mods_sixconfigs, :mod_id], [:servers_sixconfigs, :server_id]].each do |e|
      bla_down(e)
    end
  end

  def self.bla_up(e)
    t = e[0]
    case e[1]
    when Array
      e[1].each do |f|
        change_column(t, f, :string, :limit => 36, :null => false, :primary => true)
      end
    when Symbol
      change_column(t, e[1], :string, :limit => 36, :null => false, :primary => true)
    end
  end

  def self.bla_down(e)
    t = e[0]
    case e[1]
    when Array
      e[1].each do |f|
        change_column(t, f, :integer, :primary => true)
      end
    when Symbol
      change_column(t, e[1], :integer, :primary => true)
    end
  end
end

Version data entries

96 entries across 96 versions & 1 rubygems

Version Path
six-updater-web-0.24.15 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.14 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.13 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.12 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.11 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.10 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.9 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.8 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.7 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.6 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.5 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.4 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.3 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.2 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.1 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.24.0 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.23.7 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.23.6 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.23.5 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb
six-updater-web-0.23.4 lib/six-updater-web/db/migrate/20090921165547_change_columns.rb