Sha256: befa572f8e58a05e0f5194567eef92bf34755e01a70fe943ab8dbdc99fdd9090

Contents?: true

Size: 687 Bytes

Versions: 3

Compression:

Stored size: 687 Bytes

Contents

class MigrateCreditCardsToWalletPaymentSources < ActiveRecord::Migration[4.2]
  class CreditCard < ActiveRecord::Base
    self.table_name = 'spree_credit_cards'
  end
  class WalletPaymentSource < ActiveRecord::Base
    self.table_name = 'spree_wallet_payment_sources'
  end

  def up
    credit_cards = CreditCard.
      where.not(gateway_customer_profile_id: nil).
      where.not(user_id: nil)

    credit_cards.find_each do |credit_card|
      WalletPaymentSource.find_or_create_by!(
        user_id: credit_card.user_id,
        payment_source: credit_card
      ) do |wallet_source|
        wallet_source.default = credit_card.default
      end
    end
  end

  def down
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
solidus_core-2.2.0 db/migrate/20160420181916_migrate_credit_cards_to_wallet_payment_sources.rb
solidus_core-2.2.0.rc1 db/migrate/20160420181916_migrate_credit_cards_to_wallet_payment_sources.rb
solidus_core-2.2.0.beta1 db/migrate/20160420181916_migrate_credit_cards_to_wallet_payment_sources.rb