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