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-1.3.9 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.3.8 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.3.7 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.3.6 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.3.5 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.3.4 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.3.3 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.3.2 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.3.1 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.3.0 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.2.13 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.2.12 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.2.11 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.2.10 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.2.9 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.2.8 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.2.7 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.2.6 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.2.5 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
effective_orders-1.2.4 db/upgrade/02_upgrade_effective_orders_from03x.rb.erb