Sha256: c1675092fd8a1c477a0562a74dcd7073a508fcb1f7935813e98139a96321bf77

Contents?: true

Size: 545 Bytes

Versions: 80

Compression:

Stored size: 545 Bytes

Contents

class MakeExistingCreditCardsDefault < ActiveRecord::Migration
  def up
    # set the newest credit card for every user to be the default; SQL technique from
    # http://stackoverflow.com/questions/121387/fetch-the-row-which-has-the-max-value-for-a-column
    Spree::CreditCard.where.not(user_id: nil).joins("LEFT OUTER JOIN spree_credit_cards cc2 ON cc2.user_id = spree_credit_cards.user_id AND spree_credit_cards.created_at < cc2.created_at").where("cc2.user_id IS NULL").update_all(default: true)
  end
  def down
    # do nothing
  end
end

Version data entries

80 entries across 80 versions & 3 rubygems

Version Path
goca-spree-core-3.1.14.rails.5.0.1 db/migrate/20140805171219_make_existing_credit_cards_default.rb
goca-spree-core-3.1.14.rails.5.0 db/migrate/20140805171219_make_existing_credit_cards_default.rb
goca-spree-core-3.1.15.rails.5.0 db/migrate/20140805171219_make_existing_credit_cards_default.rb
goca-spree-core-3.1.15.pre.rails.pre.5.0 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.14 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.13 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.12 db/migrate/20140805171219_make_existing_credit_cards_default.rb
solidus_core-1.2.3 db/migrate/20140805171219_make_existing_credit_cards_default.rb
solidus_core-1.1.4 db/migrate/20140805171219_make_existing_credit_cards_default.rb
solidus_core-1.0.7 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.11 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.10 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.9 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.8 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.7 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.6 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.5 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.4 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.3 db/migrate/20140805171219_make_existing_credit_cards_default.rb
spree_core-3.1.2 db/migrate/20140805171219_make_existing_credit_cards_default.rb