Sha256: bd23aa5288316e8432b266492bf59eb425ece333fa370cfd02f6404156fa2235

Contents?: true

Size: 1.03 KB

Versions: 9

Compression:

Stored size: 1.03 KB

Contents

# This migration comes from spree (originally 20121031162139)
class SplitPricesFromVariants < ActiveRecord::Migration[4.2]
  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 = ApplicationRecord.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|
      ApplicationRecord.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

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
spree_purchase_order-3.7.0 spec/dummy/db/migrate/20191113195719_split_prices_from_variants.spree.rb
spree_billing_sisow-0.9.2 spec/dummy/db/migrate/20190729091660_split_prices_from_variants.spree.rb
spree_billing_sisow-0.9.1 spec/dummy/db/migrate/20190729091660_split_prices_from_variants.spree.rb
spree_purchase_order-3.6.0 spec/dummy/db/migrate/20180516181848_split_prices_from_variants.spree.rb
spree_purchase_order-3.5.0 spec/dummy/db/migrate/20180516181848_split_prices_from_variants.spree.rb
spree_purchase_order-3.5.0.rc1 spec/dummy/db/migrate/20180516181848_split_prices_from_variants.spree.rb
spree_purchase_order-3.4.0 spec/dummy/db/migrate/20180516181848_split_prices_from_variants.spree.rb
spree_purchase_order-3.3.0 spec/dummy/db/migrate/20180516181848_split_prices_from_variants.spree.rb
spree_purchase_order-3.2.0 spec/dummy/db/migrate/20180516181848_split_prices_from_variants.spree.rb