Class: SolidusPromotions::MigrateOrderPromotions
- Inherits:
-
Object
- Object
- SolidusPromotions::MigrateOrderPromotions
- Defined in:
- lib/solidus_promotions/migrate_order_promotions.rb
Class Method Summary collapse
Class Method Details
.down ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/solidus_promotions/migrate_order_promotions.rb', line 39 def down sql = " INSERT INTO spree_orders_promotions (\n order_id,\n promotion_id,\n promotion_code_id,\n created_at,\n updated_at\n )\n SELECT\n solidus_promotions_order_promotions.order_id AS order_id,\n spree_promotions.id AS promotion_id,\n spree_promotion_codes.id AS promotion_code_id,\n solidus_promotions_order_promotions.created_at,\n solidus_promotions_order_promotions.updated_at\n FROM solidus_promotions_order_promotions\n INNER JOIN solidus_promotions_promotions ON solidus_promotions_order_promotions.promotion_id = solidus_promotions_promotions.id\n INNER JOIN spree_promotions ON spree_promotions.id = solidus_promotions_promotions.original_promotion_id\n LEFT OUTER JOIN solidus_promotions_promotion_codes ON solidus_promotions_order_promotions.promotion_code_id = solidus_promotions_promotion_codes.id\n LEFT OUTER JOIN spree_promotion_codes ON spree_promotion_codes.value = solidus_promotions_promotion_codes.value\n WHERE NOT EXISTS (\n SELECT NULL\n FROM spree_orders_promotions\n WHERE spree_orders_promotions.order_id = order_id\n AND (spree_orders_promotions.promotion_code_id = promotion_code_id OR promotion_code_id IS NULL)\n AND spree_orders_promotions.promotion_id = promotion_id\n );\n SQL\n ActiveRecord::Base.connection.execute(sql)\n\n SolidusPromotions::OrderPromotion.delete_all\nend\n" |
.up ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/solidus_promotions/migrate_order_promotions.rb', line 6 def up sql = " INSERT INTO solidus_promotions_order_promotions (\n order_id,\n promotion_id,\n promotion_code_id,\n created_at,\n updated_at\n )\n SELECT\n spree_orders_promotions.order_id AS order_id,\n solidus_promotions_promotions.id AS promotion_id,\n solidus_promotions_promotion_codes.id AS promotion_code_id,\n spree_orders_promotions.created_at,\n spree_orders_promotions.updated_at\n FROM spree_orders_promotions\n INNER JOIN spree_promotions ON spree_orders_promotions.promotion_id = spree_promotions.id\n INNER JOIN solidus_promotions_promotions ON spree_promotions.id = solidus_promotions_promotions.original_promotion_id\n LEFT OUTER JOIN spree_promotion_codes ON spree_orders_promotions.promotion_code_id = spree_promotion_codes.id\n LEFT OUTER JOIN solidus_promotions_promotion_codes ON spree_promotion_codes.value = solidus_promotions_promotion_codes.value\n WHERE NOT EXISTS (\n SELECT NULL\n FROM solidus_promotions_order_promotions\n WHERE solidus_promotions_order_promotions.order_id = order_id\n AND (solidus_promotions_order_promotions.promotion_code_id = promotion_code_id OR promotion_code_id IS NULL)\n AND solidus_promotions_order_promotions.promotion_id = promotion_id\n );\n SQL\n ActiveRecord::Base.connection.execute(sql)\n\n Spree::OrderPromotion.delete_all\nend\n" |