Sha256: 5d5e62a18749055f945de98ca1dc558c9a50c7a3d177843cff7298335779881a

Contents?: true

Size: 581 Bytes

Versions: 5

Compression:

Stored size: 581 Bytes

Contents

class AddOrderPromotionsForeignKey < ActiveRecord::Migration[7.0]
  def up
    Spree::OrderPromotion.left_joins(:order).where(spree_orders: { id: nil }).delete_all
    unless foreign_key_exists?(:spree_orders_promotions, :spree_orders, column: :order_id)
      add_foreign_key :spree_orders_promotions, :spree_orders, column: :order_id, validate: false, on_delete: :cascade
    end
  end

  def down
    if foreign_key_exists?(:spree_orders_promotions, :spree_orders, column: :order_id)
      remove_foreign_key :spree_orders_promotions, :spree_orders_promotions
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
solidus_legacy_promotions-4.5.1 db/migrate/20231027084517_add_order_promotions_foreign_key.rb
solidus_legacy_promotions-4.5.0 db/migrate/20231027084517_add_order_promotions_foreign_key.rb
solidus_legacy_promotions-4.4.2 db/migrate/20231027084517_add_order_promotions_foreign_key.rb
solidus_legacy_promotions-4.4.1 db/migrate/20231027084517_add_order_promotions_foreign_key.rb
solidus_legacy_promotions-4.4.0 db/migrate/20231027084517_add_order_promotions_foreign_key.rb