Sha256: f9b658db83c7402e853d0135cc31502e7e6a7ecbf39c1265c288b972782ebe40

Contents?: true

Size: 957 Bytes

Versions: 88

Compression:

Stored size: 957 Bytes

Contents

class UpgradePriceColumnOn<%= @table.capitalize %> < ActiveRecord::Migration
  def self.up
    prices = ActiveRecord::Base.connection.execute("SELECT <%= @column %> FROM <%= @table %> LIMIT 10").values.flatten
    if prices.blank? || prices.any? { |<%= @column %>| <%= @column %>.to_s.include?('.') }
      ActiveRecord::Base.connection.execute("UPDATE <%= @table %> O SET <%= @column %> = (O.<%= @column %> * 100.0)")
      change_column :<%= @table %>, :<%= @column %>, :integer, :default => 0
    end
  end

  def self.down
    prices = ActiveRecord::Base.connection.execute("SELECT price FROM <%= @table %> LIMIT 10").values.flatten
    if prices.none? { |<%= @column %>| <%= @column %>.to_s.include?('.') }
      change_column :<%= @table %>, :<%= @column %>, :decimal, :precision => 8, :scale => 2, :default => 0.0
      ActiveRecord::Base.connection.execute("UPDATE <%= @table %> O SET <%= @column %> = (O.<%= @column %> / 100.0)")
    end
  end
end

Version data entries

88 entries across 88 versions & 1 rubygems

Version Path
effective_orders-2.2.4 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.2.3 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.2.2 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.2.1 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.2.0 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.17 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.16 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.15 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.14 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.13 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.12 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.10 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.9 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.8 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.7 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.6 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.5 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.4 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.3 db/upgrade/upgrade_price_column_on_table.rb.erb
effective_orders-2.1.2 db/upgrade/upgrade_price_column_on_table.rb.erb