Sha256: d8758ec17b282b450301ba932b70cbe20a9aebd737402836e5ca0bf9a292f2d5

Contents?: true

Size: 1.86 KB

Versions: 88

Compression:

Stored size: 1.86 KB

Contents

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

    prices = ActiveRecord::Base.connection.execute("SELECT price from <%= @subscriptions_table_name.gsub(':', '') %> LIMIT 10").values.flatten
    if prices.blank? || prices.any? { |price| price.to_s.include?('.') }
      ActiveRecord::Base.connection.execute("UPDATE <%= @subscriptions_table_name.gsub(':', '') %> O SET price = (O.price * 100.0)")
      change_column <%= @subscriptions_table_name %>, :price, :integer, :default => 0
    end
  end

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

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

Version data entries

88 entries across 88 versions & 1 rubygems

Version Path
effective_orders-2.1.1 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.0 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.0.1 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.0.0 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.8.1 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.8.0 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.7.5 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.7.4 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.7.3 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.7.2 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.7.1 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.7.0 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.6.6 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.6.5 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.6.4 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.6.3 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.6.1 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.6.0 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.5.9 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.5.8 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb