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.2.4 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.2.3 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.2.2 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.2.1 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.2.0 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.17 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.16 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.15 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.14 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.13 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.12 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.10 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.9 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.8 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.7 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.6 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.5 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.4 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.3 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-2.1.2 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb