mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-09 23:06:06 +00:00
33 lines
1.1 KiB
Ruby
33 lines
1.1 KiB
Ruby
# This migration comes from spree (originally 20121031162139)
|
|
class SplitPricesFromVariants < ActiveRecord::Migration
|
|
def up
|
|
create_table :spree_prices do |t|
|
|
t.integer :variant_id, :null => false
|
|
t.decimal :amount, :precision => 8, :scale => 2, :null => false
|
|
t.string :currency
|
|
end
|
|
|
|
Spree::Variant.all.each do |variant|
|
|
Spree::Price.create!(
|
|
:variant_id => variant.id,
|
|
:amount => variant[:price],
|
|
:currency => Spree::Config[:currency]
|
|
)
|
|
end
|
|
|
|
remove_column :spree_variants, :price
|
|
end
|
|
|
|
def down
|
|
prices = ActiveRecord::Base.connection.execute("select variant_id, amount from spree_prices")
|
|
add_column :spree_variants, :price, :decimal, :after => :sku, :scale => 2, :precision => 8
|
|
|
|
prices.each do |price|
|
|
ActiveRecord::Base.connection.execute("update spree_variants set price = #{price['amount']} where id = #{price['variant_id']}")
|
|
end
|
|
|
|
change_column :spree_variants, :price, :decimal, :after => :sku, :scale => 2, :precision => 8, :null => false
|
|
drop_table :spree_prices
|
|
end
|
|
end
|