spree_purchase_order 3.2.0.rc1 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (253) hide show
  1. checksums.yaml +4 -4
  2. data/app/views/spree/admin/payments/source_views/_purchaseorder.html.erb +13 -0
  3. data/app/views/spree/checkout/payment/_purchaseorder.html.erb +2 -2
  4. data/config/locales/en.yml +2 -0
  5. data/lib/spree_purchase_order/version.rb +1 -1
  6. data/spec/dummy/app/models/application_record.rb +3 -0
  7. data/spec/dummy/db/migrate/20180516181839_spree_one_two.spree.rb +482 -0
  8. data/spec/dummy/db/migrate/20180516181840_spree_promo_one_two.spree.rb +46 -0
  9. data/spec/dummy/db/migrate/20180516181841_add_tax_rate_label.spree.rb +6 -0
  10. data/spec/dummy/db/migrate/20180516181842_add_toggle_tax_rate_display.spree.rb +6 -0
  11. data/spec/dummy/db/migrate/20180516181843_remove_unused_preference_columns.spree.rb +9 -0
  12. data/spec/dummy/db/migrate/20180516181844_add_lock_version_to_variant.spree.rb +6 -0
  13. data/spec/dummy/db/migrate/20180516181845_add_states_required_to_countries.spree.rb +6 -0
  14. data/spec/dummy/db/migrate/20180516181846_add_on_demand_to_product_and_variant.spree.rb +7 -0
  15. data/spec/dummy/db/migrate/20180516181847_remove_not_null_constraint_from_products_on_hand.spree.rb +12 -0
  16. data/spec/dummy/db/migrate/20180516181848_split_prices_from_variants.spree.rb +32 -0
  17. data/spec/dummy/db/migrate/20180516181849_remove_not_null_from_spree_prices_amount.spree.rb +10 -0
  18. data/spec/dummy/db/migrate/20180516181850_add_currency_to_line_items.spree.rb +6 -0
  19. data/spec/dummy/db/migrate/20180516181851_add_currency_to_orders.spree.rb +6 -0
  20. data/spec/dummy/db/migrate/20180516181852_add_cost_currency_to_variants.spree.rb +6 -0
  21. data/spec/dummy/db/migrate/20180516181853_remove_display_on_from_payment_methods.spree.rb +6 -0
  22. data/spec/dummy/db/migrate/20180516181854_add_position_to_taxonomies.spree.rb +6 -0
  23. data/spec/dummy/db/migrate/20180516181855_add_last_ip_to_spree_orders.spree.rb +6 -0
  24. data/spec/dummy/db/migrate/20180516181856_add_state_to_spree_adjustments.spree.rb +7 -0
  25. data/spec/dummy/db/migrate/20180516181857_add_display_on_to_spree_payment_methods.spree.rb +10 -0
  26. data/spec/dummy/db/migrate/20180516181858_add_position_to_product_properties.spree.rb +7 -0
  27. data/spec/dummy/db/migrate/20180516181859_add_identifier_to_spree_payments.spree.rb +6 -0
  28. data/spec/dummy/db/migrate/20180516181860_add_order_id_index_to_payments.spree.rb +10 -0
  29. data/spec/dummy/db/migrate/20180516181861_add_primary_to_spree_products_taxons.spree.rb +6 -0
  30. data/spec/dummy/db/migrate/20180516181862_create_spree_stock_items.spree.rb +15 -0
  31. data/spec/dummy/db/migrate/20180516181863_create_spree_stock_locations.spree.rb +12 -0
  32. data/spec/dummy/db/migrate/20180516181864_create_default_stock.spree.rb +34 -0
  33. data/spec/dummy/db/migrate/20180516181865_add_order_id_index_to_shipments.spree.rb +6 -0
  34. data/spec/dummy/db/migrate/20180516181866_change_meta_description_on_spree_products_to_text.spree.rb +6 -0
  35. data/spec/dummy/db/migrate/20180516181867_add_stock_location_id_to_spree_shipments.spree.rb +6 -0
  36. data/spec/dummy/db/migrate/20180516181868_add_pending_to_inventory_unit.spree.rb +7 -0
  37. data/spec/dummy/db/migrate/20180516181869_remove_on_demand_from_product_and_variant.spree.rb +7 -0
  38. data/spec/dummy/db/migrate/20180516181870_create_shipping_method_zone.spree.rb +22 -0
  39. data/spec/dummy/db/migrate/20180516181871_remove_shipping_category_id_from_shipping_method.spree.rb +6 -0
  40. data/spec/dummy/db/migrate/20180516181872_create_shipping_method_categories.spree.rb +14 -0
  41. data/spec/dummy/db/migrate/20180516181873_add_tracking_url_to_spree_shipping_methods.spree.rb +6 -0
  42. data/spec/dummy/db/migrate/20180516181874_create_spree_shipping_rates.spree.rb +25 -0
  43. data/spec/dummy/db/migrate/20180516181875_remove_category_match_attributes_from_shipping_method.spree.rb +8 -0
  44. data/spec/dummy/db/migrate/20180516181876_create_stock_movements.spree.rb +13 -0
  45. data/spec/dummy/db/migrate/20180516181877_add_address_fields_to_stock_location.spree.rb +23 -0
  46. data/spec/dummy/db/migrate/20180516181878_add_active_field_to_stock_locations.spree.rb +6 -0
  47. data/spec/dummy/db/migrate/20180516181879_add_backorderable_to_stock_item.spree.rb +6 -0
  48. data/spec/dummy/db/migrate/20180516181880_add_default_quantity_to_stock_movement.spree.rb +6 -0
  49. data/spec/dummy/db/migrate/20180516181881_add_source_and_destination_to_stock_movements.spree.rb +9 -0
  50. data/spec/dummy/db/migrate/20180516181882_change_orders_total_precision.spree.rb +9 -0
  51. data/spec/dummy/db/migrate/20180516181883_change_spree_payments_amount_precision.spree.rb +8 -0
  52. data/spec/dummy/db/migrate/20180516181884_change_spree_return_authorization_amount_precision.spree.rb +8 -0
  53. data/spec/dummy/db/migrate/20180516181885_change_adjustments_amount_precision.spree.rb +8 -0
  54. data/spec/dummy/db/migrate/20180516181886_add_originator_to_stock_movement.spree.rb +8 -0
  55. data/spec/dummy/db/migrate/20180516181887_drop_source_and_destination_from_stock_movement.spree.rb +16 -0
  56. data/spec/dummy/db/migrate/20180516181888_migrate_inventory_unit_sold_to_on_hand.spree.rb +10 -0
  57. data/spec/dummy/db/migrate/20180516181889_add_stock_location_to_rma.spree.rb +6 -0
  58. data/spec/dummy/db/migrate/20180516181890_update_shipment_state_for_canceled_orders.spree.rb +16 -0
  59. data/spec/dummy/db/migrate/20180516181891_add_seo_metas_to_taxons.spree.rb +10 -0
  60. data/spec/dummy/db/migrate/20180516181892_remove_stock_item_and_variant_lock.spree.rb +15 -0
  61. data/spec/dummy/db/migrate/20180516181893_add_name_to_spree_credit_cards.spree.rb +6 -0
  62. data/spec/dummy/db/migrate/20180516181894_update_name_fields_on_spree_credit_cards.spree.rb +14 -0
  63. data/spec/dummy/db/migrate/20180516181895_add_index_to_source_columns_on_adjustments.spree.rb +6 -0
  64. data/spec/dummy/db/migrate/20180516181896_update_adjustment_states.spree.rb +17 -0
  65. data/spec/dummy/db/migrate/20180516181897_add_shipping_rates_to_shipments.spree.rb +16 -0
  66. data/spec/dummy/db/migrate/20180516181898_create_spree_stock_transfers.spree.rb +15 -0
  67. data/spec/dummy/db/migrate/20180516181899_drop_products_count_on_hand.spree.rb +6 -0
  68. data/spec/dummy/db/migrate/20180516181900_set_default_shipping_rate_cost.spree.rb +6 -0
  69. data/spec/dummy/db/migrate/20180516181901_add_number_to_stock_transfer.spree.rb +24 -0
  70. data/spec/dummy/db/migrate/20180516181902_add_sku_index_to_spree_variants.spree.rb +6 -0
  71. data/spec/dummy/db/migrate/20180516181903_add_backorderable_default_to_spree_stock_location.spree.rb +6 -0
  72. data/spec/dummy/db/migrate/20180516181904_add_propage_all_variants_to_spree_stock_location.spree.rb +6 -0
  73. data/spec/dummy/db/migrate/20180516181905_rename_shipping_methods_zones_to_spree_shipping_methods_zones.spree.rb +6 -0
  74. data/spec/dummy/db/migrate/20180516181906_add_user_id_index_to_spree_orders.spree.rb +6 -0
  75. data/spec/dummy/db/migrate/20180516181907_add_updated_at_to_spree_countries.spree.rb +10 -0
  76. data/spec/dummy/db/migrate/20180516181908_add_updated_at_to_spree_states.spree.rb +10 -0
  77. data/spec/dummy/db/migrate/20180516181909_add_cvv_result_code_and_cvv_result_message_to_spree_payments.spree.rb +7 -0
  78. data/spec/dummy/db/migrate/20180516181910_add_unique_index_to_permalink_on_spree_products.spree.rb +6 -0
  79. data/spec/dummy/db/migrate/20180516181911_add_unique_index_to_orders_shipments_and_stock_transfers.spree.rb +8 -0
  80. data/spec/dummy/db/migrate/20180516181912_add_deleted_at_to_spree_tax_rates.spree.rb +6 -0
  81. data/spec/dummy/db/migrate/20180516181913_remove_lock_version_from_inventory_units.spree.rb +7 -0
  82. data/spec/dummy/db/migrate/20180516181914_add_cost_price_to_line_item.spree.rb +6 -0
  83. data/spec/dummy/db/migrate/20180516181915_set_backorderable_to_default_to_false.spree.rb +7 -0
  84. data/spec/dummy/db/migrate/20180516181916_add_created_by_id_to_spree_orders.spree.rb +6 -0
  85. data/spec/dummy/db/migrate/20180516181917_index_completed_at_on_spree_orders.spree.rb +6 -0
  86. data/spec/dummy/db/migrate/20180516181918_add_tax_category_id_to_spree_line_items.spree.rb +6 -0
  87. data/spec/dummy/db/migrate/20180516181919_migrate_tax_categories_to_line_items.spree.rb +11 -0
  88. data/spec/dummy/db/migrate/20180516181920_drop_spree_mail_methods.spree.rb +13 -0
  89. data/spec/dummy/db/migrate/20180516181921_set_default_stock_location_on_shipments.spree.rb +9 -0
  90. data/spec/dummy/db/migrate/20180516181922_upgrade_adjustments.spree.rb +41 -0
  91. data/spec/dummy/db/migrate/20180516181923_rename_adjustment_fields.spree.rb +15 -0
  92. data/spec/dummy/db/migrate/20180516181924_add_admin_name_column_to_spree_shipping_methods.spree.rb +6 -0
  93. data/spec/dummy/db/migrate/20180516181925_add_admin_name_column_to_spree_stock_locations.spree.rb +6 -0
  94. data/spec/dummy/db/migrate/20180516181926_add_shipment_total_to_spree_orders.spree.rb +6 -0
  95. data/spec/dummy/db/migrate/20180516181927_expand_order_number_size.spree.rb +10 -0
  96. data/spec/dummy/db/migrate/20180516181928_rename_activators_to_promotions.spree.rb +6 -0
  97. data/spec/dummy/db/migrate/20180516181929_add_adjustment_total_to_line_items.spree.rb +6 -0
  98. data/spec/dummy/db/migrate/20180516181930_add_adjustment_total_to_shipments.spree.rb +6 -0
  99. data/spec/dummy/db/migrate/20180516181931_add_depth_to_spree_taxons.spree.rb +17 -0
  100. data/spec/dummy/db/migrate/20180516181932_add_tax_total_to_line_items_shipments_and_orders.spree.rb +9 -0
  101. data/spec/dummy/db/migrate/20180516181933_add_shipping_category_to_shipping_methods_and_products.spree.rb +16 -0
  102. data/spec/dummy/db/migrate/20180516181934_migrate_old_shipping_calculators.spree.rb +20 -0
  103. data/spec/dummy/db/migrate/20180516181935_add_code_to_spree_promotion_rules.spree.rb +6 -0
  104. data/spec/dummy/db/migrate/20180516181936_change_states_required_for_countries.spree.rb +10 -0
  105. data/spec/dummy/db/migrate/20180516181937_add_deleted_at_to_spree_stock_items.spree.rb +6 -0
  106. data/spec/dummy/db/migrate/20180516181938_remove_promotions_event_name_field.spree.rb +6 -0
  107. data/spec/dummy/db/migrate/20180516181939_add_promo_total_to_line_items_and_shipments_and_orders.spree.rb +8 -0
  108. data/spec/dummy/db/migrate/20180516181940_remove_unused_credit_card_fields.spree.rb +17 -0
  109. data/spec/dummy/db/migrate/20180516181941_add_track_inventory_to_variant.spree.rb +6 -0
  110. data/spec/dummy/db/migrate/20180516181942_add_tax_category_to_variants.spree.rb +7 -0
  111. data/spec/dummy/db/migrate/20180516181943_add_channel_to_spree_orders.spree.rb +6 -0
  112. data/spec/dummy/db/migrate/20180516181944_add_included_to_adjustments.spree.rb +6 -0
  113. data/spec/dummy/db/migrate/20180516181945_rename_tax_total_fields.spree.rb +12 -0
  114. data/spec/dummy/db/migrate/20180516181946_add_line_item_id_to_spree_inventory_units.spree.rb +22 -0
  115. data/spec/dummy/db/migrate/20180516181947_add_updated_at_to_variants.spree.rb +6 -0
  116. data/spec/dummy/db/migrate/20180516181948_add_position_to_classifications.spree.rb +6 -0
  117. data/spec/dummy/db/migrate/20180516181949_create_spree_orders_promotions.spree.rb +9 -0
  118. data/spec/dummy/db/migrate/20180516181950_unique_shipping_method_categories.spree.rb +25 -0
  119. data/spec/dummy/db/migrate/20180516181951_add_item_count_to_spree_orders.spree.rb +6 -0
  120. data/spec/dummy/db/migrate/20180516181952_remove_value_type_from_spree_preferences.spree.rb +9 -0
  121. data/spec/dummy/db/migrate/20180516181953_rename_permalink_to_slug_for_products.spree.rb +6 -0
  122. data/spec/dummy/db/migrate/20180516181954_add_index_to_variant_id_and_currency_on_prices.spree.rb +6 -0
  123. data/spec/dummy/db/migrate/20180516181955_rename_activator_id_in_rules_and_actions_to_promotion_id.spree.rb +7 -0
  124. data/spec/dummy/db/migrate/20180516181956_add_deleted_at_to_spree_prices.spree.rb +6 -0
  125. data/spec/dummy/db/migrate/20180516181957_add_approver_id_and_approved_at_to_orders.spree.rb +7 -0
  126. data/spec/dummy/db/migrate/20180516181958_add_confirmation_delivered_to_spree_orders.spree.rb +6 -0
  127. data/spec/dummy/db/migrate/20180516181959_add_auto_capture_to_payment_methods.spree.rb +6 -0
  128. data/spec/dummy/db/migrate/20180516181960_create_spree_payment_capture_events.spree.rb +13 -0
  129. data/spec/dummy/db/migrate/20180516181961_add_uncaptured_amount_to_payments.spree.rb +6 -0
  130. data/spec/dummy/db/migrate/20180516181962_default_variant_weight_to_zero.spree.rb +12 -0
  131. data/spec/dummy/db/migrate/20180516181963_add_tax_category_id_to_shipping_methods.spree.rb +6 -0
  132. data/spec/dummy/db/migrate/20180516181964_add_tax_rate_id_to_shipping_rates.spree.rb +6 -0
  133. data/spec/dummy/db/migrate/20180516181965_add_pre_tax_amount_to_line_items_and_shipments.spree.rb +7 -0
  134. data/spec/dummy/db/migrate/20180516181966_add_more_indexes.spree.rb +14 -0
  135. data/spec/dummy/db/migrate/20180516181967_add_considered_risky_to_orders.spree.rb +6 -0
  136. data/spec/dummy/db/migrate/20180516181968_add_preference_store_to_everything.spree.rb +9 -0
  137. data/spec/dummy/db/migrate/20180516181969_add_user_id_to_spree_credit_cards.spree.rb +14 -0
  138. data/spec/dummy/db/migrate/20180516181970_migrate_old_preferences.spree.rb +24 -0
  139. data/spec/dummy/db/migrate/20180516181971_create_spree_stores.spree.rb +26 -0
  140. data/spec/dummy/db/migrate/20180516181972_create_store_from_preferences.spree.rb +38 -0
  141. data/spec/dummy/db/migrate/20180516181973_add_timestamps_to_spree_assets.spree.rb +7 -0
  142. data/spec/dummy/db/migrate/20180516181974_create_spree_taxons_promotion_rules.spree.rb +9 -0
  143. data/spec/dummy/db/migrate/20180516181975_add_additional_store_fields.spree.rb +9 -0
  144. data/spec/dummy/db/migrate/20180516181976_add_many_missing_indexes.spree.rb +19 -0
  145. data/spec/dummy/db/migrate/20180516181977_correct_some_polymorphic_index_and_add_more_missing.spree.rb +67 -0
  146. data/spec/dummy/db/migrate/20180516181978_add_user_id_created_by_id_index_to_order.spree.rb +6 -0
  147. data/spec/dummy/db/migrate/20180516181979_change_spree_price_amount_precision.spree.rb +9 -0
  148. data/spec/dummy/db/migrate/20180516181980_add_token_to_spree_orders.spree.rb +6 -0
  149. data/spec/dummy/db/migrate/20180516181981_move_order_token_from_tokenized_permission.spree.rb +30 -0
  150. data/spec/dummy/db/migrate/20180516181982_set_shipment_total_for_users_upgrading.spree.rb +11 -0
  151. data/spec/dummy/db/migrate/20180516181983_drop_credit_card_first_name_and_last_name.spree.rb +7 -0
  152. data/spec/dummy/db/migrate/20180516181984_add_deleted_at_to_spree_promotion_actions.spree.rb +7 -0
  153. data/spec/dummy/db/migrate/20180516181985_remove_uncaptured_amount_from_spree_payments.spree.rb +6 -0
  154. data/spec/dummy/db/migrate/20180516181986_create_spree_refunds.spree.rb +13 -0
  155. data/spec/dummy/db/migrate/20180516181987_create_spree_return_authorization_inventory_unit.spree.rb +13 -0
  156. data/spec/dummy/db/migrate/20180516181988_rename_return_authorization_inventory_unit_to_return_items.spree.rb +6 -0
  157. data/spec/dummy/db/migrate/20180516181989_backfill_line_item_pre_tax_amount.spree.rb +11 -0
  158. data/spec/dummy/db/migrate/20180516181990_recreate_spree_return_authorizations.spree.rb +56 -0
  159. data/spec/dummy/db/migrate/20180516181991_add_amount_fields_to_return_items.spree.rb +8 -0
  160. data/spec/dummy/db/migrate/20180516181992_drop_return_authorization_amount.spree.rb +6 -0
  161. data/spec/dummy/db/migrate/20180516181993_create_spree_return_authorization_reasons.spree.rb +29 -0
  162. data/spec/dummy/db/migrate/20180516181994_create_spree_refund_reasons.spree.rb +15 -0
  163. data/spec/dummy/db/migrate/20180516181995_rename_return_authorization_reason.spree.rb +6 -0
  164. data/spec/dummy/db/migrate/20180516181996_create_spree_promotion_categories.spree.rb +12 -0
  165. data/spec/dummy/db/migrate/20180516181997_drop_received_at_on_return_items.spree.rb +10 -0
  166. data/spec/dummy/db/migrate/20180516181998_add_reception_and_acceptance_status_to_return_items.spree.rb +7 -0
  167. data/spec/dummy/db/migrate/20180516181999_create_default_refund_reason.spree.rb +10 -0
  168. data/spec/dummy/db/migrate/20180516182000_add_default_to_spree_stock_locations.spree.rb +8 -0
  169. data/spec/dummy/db/migrate/20180516182001_create_spree_customer_returns.spree.rb +10 -0
  170. data/spec/dummy/db/migrate/20180516182002_add_customer_return_id_to_return_item.spree.rb +7 -0
  171. data/spec/dummy/db/migrate/20180516182003_create_friendly_id_slugs.spree.rb +16 -0
  172. data/spec/dummy/db/migrate/20180516182004_rename_spree_refund_return_authorization_id.spree.rb +6 -0
  173. data/spec/dummy/db/migrate/20180516182005_increase_return_item_pre_tax_amount_precision.spree.rb +14 -0
  174. data/spec/dummy/db/migrate/20180516182006_copy_product_slugs_to_slug_history.spree.rb +16 -0
  175. data/spec/dummy/db/migrate/20180516182007_create_spree_reimbursements.spree.rb +22 -0
  176. data/spec/dummy/db/migrate/20180516182008_add_promotionable_to_spree_products.spree.rb +6 -0
  177. data/spec/dummy/db/migrate/20180516182009_add_exchange_inventory_unit_foreign_keys.spree.rb +8 -0
  178. data/spec/dummy/db/migrate/20180516182010_add_acceptance_status_errors_to_return_item.spree.rb +6 -0
  179. data/spec/dummy/db/migrate/20180516182011_create_spree_reimbursement_types.spree.rb +21 -0
  180. data/spec/dummy/db/migrate/20180516182012_add_default_to_shipment_cost.spree.rb +11 -0
  181. data/spec/dummy/db/migrate/20180516182013_add_default_to_spree_credit_cards.spree.rb +6 -0
  182. data/spec/dummy/db/migrate/20180516182014_make_existing_credit_cards_default.spree.rb +11 -0
  183. data/spec/dummy/db/migrate/20180516182015_add_type_to_reimbursement_type.spree.rb +10 -0
  184. data/spec/dummy/db/migrate/20180516182016_create_spree_reimbursement_credits.spree.rb +11 -0
  185. data/spec/dummy/db/migrate/20180516182017_add_meta_title_to_spree_products.spree.rb +8 -0
  186. data/spec/dummy/db/migrate/20180516182018_add_kind_to_zone.spree.rb +12 -0
  187. data/spec/dummy/db/migrate/20180516182019_add_code_to_spree_tax_categories.spree.rb +6 -0
  188. data/spec/dummy/db/migrate/20180516182020_default_pre_tax_amount_should_be_zero.spree.rb +7 -0
  189. data/spec/dummy/db/migrate/20180516182021_add_code_to_spree_shipping_methods.spree.rb +6 -0
  190. data/spec/dummy/db/migrate/20180516182022_add_cancel_audit_fields_to_spree_orders.spree.rb +7 -0
  191. data/spec/dummy/db/migrate/20180516182023_add_store_id_to_orders.spree.rb +9 -0
  192. data/spec/dummy/db/migrate/20180516182024_create_spree_taxons_prototypes.spree.rb +9 -0
  193. data/spec/dummy/db/migrate/20180516182025_add_state_lock_version_to_order.spree.rb +6 -0
  194. data/spec/dummy/db/migrate/20180516182026_add_counter_cache_from_spree_variants_to_spree_stock_items.spree.rb +9 -0
  195. data/spec/dummy/db/migrate/20180516182027_fix_adjustment_order_presence.spree.rb +14 -0
  196. data/spec/dummy/db/migrate/20180516182028_update_classifications_positions.spree.rb +10 -0
  197. data/spec/dummy/db/migrate/20180516182029_add_guest_token_index_to_spree_orders.spree.rb +6 -0
  198. data/spec/dummy/db/migrate/20180516182030_remove_token_permissions_table.spree.rb +7 -0
  199. data/spec/dummy/db/migrate/20180516182031_remove_extra_products_slug_index.spree.rb +6 -0
  200. data/spec/dummy/db/migrate/20180516182032_update_product_slug_index.spree.rb +7 -0
  201. data/spec/dummy/db/migrate/20180516182033_rename_identifier_to_number_for_payment.spree.rb +6 -0
  202. data/spec/dummy/db/migrate/20180516182034_create_spree_store_credits.spree.rb +25 -0
  203. data/spec/dummy/db/migrate/20180516182035_create_spree_store_credit_categories.spree.rb +9 -0
  204. data/spec/dummy/db/migrate/20180516182036_create_spree_store_credit_events.spree.rb +18 -0
  205. data/spec/dummy/db/migrate/20180516182037_create_spree_store_credit_types.spree.rb +11 -0
  206. data/spec/dummy/db/migrate/20180516182038_remove_environment_from_payment_method.spree.rb +7 -0
  207. data/spec/dummy/db/migrate/20180516182039_add_resellable_to_return_items.spree.rb +6 -0
  208. data/spec/dummy/db/migrate/20180516182040_add_code_to_spree_promotion_categories.spree.rb +6 -0
  209. data/spec/dummy/db/migrate/20180516182041_remove_environment_from_tracker.spree.rb +7 -0
  210. data/spec/dummy/db/migrate/20180516182042_remove_spree_configurations.spree.rb +17 -0
  211. data/spec/dummy/db/migrate/20180516182043_add_index_to_spree_stock_items_variant_id.spree.rb +14 -0
  212. data/spec/dummy/db/migrate/20180516182044_ensure_payments_have_numbers.spree.rb +10 -0
  213. data/spec/dummy/db/migrate/20180516182045_add_missing_indexes_on_spree_tables.spree.rb +68 -0
  214. data/spec/dummy/db/migrate/20180516182046_remove_duplicated_indexes_from_multi_columns.spree.rb +19 -0
  215. data/spec/dummy/db/migrate/20180516182047_remove_user_index_from_spree_state_changes.spree.rb +15 -0
  216. data/spec/dummy/db/migrate/20180516182048_fix_adjustment_order_id.spree.rb +71 -0
  217. data/spec/dummy/db/migrate/20180516182049_add_position_to_spree_payment_methods.spree.rb +6 -0
  218. data/spec/dummy/db/migrate/20180516182050_add_deleted_at_to_friendly_id_slugs.spree.rb +7 -0
  219. data/spec/dummy/db/migrate/20180516182051_increase_scale_on_pre_tax_amounts.spree.rb +17 -0
  220. data/spec/dummy/db/migrate/20180516182052_add_taxable_adjustment_total_to_line_item.spree.rb +20 -0
  221. data/spec/dummy/db/migrate/20180516182053_migrate_payment_methods_display.spree.rb +13 -0
  222. data/spec/dummy/db/migrate/20180516182054_enable_acts_as_paranoid_on_calculators.spree.rb +7 -0
  223. data/spec/dummy/db/migrate/20180516182055_spree_payment_method_store_credits.spree.rb +13 -0
  224. data/spec/dummy/db/migrate/20180516182056_rename_has_and_belongs_to_associations_to_model_names.spree.rb +19 -0
  225. data/spec/dummy/db/migrate/20180516182057_spree_store_credit_types.spree.rb +12 -0
  226. data/spec/dummy/db/migrate/20180516182058_add_discontinued_to_products_and_variants.spree.rb +69 -0
  227. data/spec/dummy/db/migrate/20180516182059_remove_shipping_method_id_from_spree_orders.spree.rb +14 -0
  228. data/spec/dummy/db/migrate/20180516182060_add_id_column_to_earlier_habtm_tables.spree.rb +17 -0
  229. data/spec/dummy/db/migrate/20180516182061_add_indexes.spree.rb +15 -0
  230. data/spec/dummy/db/migrate/20180516182062_remove_counter_cache_from_spree_variants_to_spree_stock_items.spree.rb +11 -0
  231. data/spec/dummy/db/migrate/20180516182063_acts_as_taggable_on_spree_migration.spree.rb +41 -0
  232. data/spec/dummy/db/migrate/20180516182064_change_collation_for_spree_tag_names.spree.rb +10 -0
  233. data/spec/dummy/db/migrate/20180516182065_add_missing_indexes_to_spree_taggings.spree.rb +15 -0
  234. data/spec/dummy/db/migrate/20180516182066_add_zipcode_required_to_spree_countries.spree.rb +8 -0
  235. data/spec/dummy/db/migrate/20180516182067_add_created_at_to_variant.spree.rb +9 -0
  236. data/spec/dummy/db/migrate/20180516182068_add_null_false_to_spree_variants_timestamps.spree.rb +7 -0
  237. data/spec/dummy/db/migrate/20180516182069_create_spree_purchase_orders.spree_purchase_order.rb +11 -0
  238. data/spec/dummy/db/migrate/20180516182070_add_payment_method_id_to_spree_purchase_orders.spree_purchase_order.rb +7 -0
  239. data/spec/dummy/db/migrate/20180516182071_add_user_id_to_spree_purchase_orders.spree_purchase_order.rb +7 -0
  240. data/spec/dummy/db/schema.rb +1027 -0
  241. data/spec/dummy/db/test.sqlite3 +0 -0
  242. data/spec/dummy/log/test.log +27686 -0
  243. data/spec/dummy/tmp/cache/17E/D61/spree%2Fapp_configuration%2Fdefault_seo_title +1 -0
  244. data/spec/dummy/tmp/cache/334/AA1/spree%2Fapp_configuration%2Fdefault_meta_keywords +1 -0
  245. data/spec/dummy/tmp/cache/3A7/4A1/spree%2Fapp_configuration%2Faddress_requires_state +1 -0
  246. data/spec/dummy/tmp/cache/460/D81/spree%2Fapp_configuration%2Fdefault_meta_description +1 -0
  247. data/spec/dummy/tmp/cache/DD9/320/spree%2Fapp_configuration%2Fsite_url +1 -0
  248. data/spec/dummy/tmp/cache/DDD/2D0/spree%2Fapp_configuration%2Fcurrency +1 -0
  249. data/spec/dummy/tmp/cache/E27/320/spree%2Fapp_configuration%2Fsite_name +1 -0
  250. data/spec/dummy/tmp/cache/E9B/7F0/spree%2Fapp_configuration%2Fmails_from +1 -0
  251. data/spec/factories/purchase_orders.rb +1 -1
  252. data/spec/spec_helper.rb +2 -2
  253. metadata +498 -7
@@ -0,0 +1,11 @@
1
+ # This migration comes from spree (originally 20140805171219)
2
+ class MakeExistingCreditCardsDefault < ActiveRecord::Migration[4.2]
3
+ def up
4
+ # set the newest credit card for every user to be the default; SQL technique from
5
+ # http://stackoverflow.com/questions/121387/fetch-the-row-which-has-the-max-value-for-a-column
6
+ 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)
7
+ end
8
+ def down
9
+ # do nothing
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ # This migration comes from spree (originally 20140806144901)
2
+ class AddTypeToReimbursementType < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_column :spree_reimbursement_types, :type, :string
5
+ add_index :spree_reimbursement_types, :type
6
+
7
+ Spree::ReimbursementType.reset_column_information
8
+ Spree::ReimbursementType.find_by(name: Spree::ReimbursementType::ORIGINAL).update_attributes!(type: 'Spree::ReimbursementType::OriginalPayment')
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ # This migration comes from spree (originally 20140808184039)
2
+ class CreateSpreeReimbursementCredits < ActiveRecord::Migration[4.2]
3
+ def change
4
+ create_table :spree_reimbursement_credits do |t|
5
+ t.decimal :amount, precision: 10, scale: 2, default: 0.0, null: false
6
+ t.integer :reimbursement_id
7
+ t.integer :creditable_id
8
+ t.string :creditable_type
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ # This migration comes from spree (originally 20140827170513)
2
+ class AddMetaTitleToSpreeProducts < ActiveRecord::Migration[4.2]
3
+ def change
4
+ change_table :spree_products do |t|
5
+ t.string :meta_title
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,12 @@
1
+ # This migration comes from spree (originally 20140911173301)
2
+ class AddKindToZone < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_column :spree_zones, :kind, :string
5
+ add_index :spree_zones, :kind
6
+
7
+ Spree::Zone.find_each do |zone|
8
+ last_type = zone.members.where.not(zoneable_type: nil).pluck(:zoneable_type).last
9
+ zone.update_column :kind, last_type.demodulize.underscore if last_type
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from spree (originally 20140924164824)
2
+ class AddCodeToSpreeTaxCategories < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_column :spree_tax_categories, :tax_code, :string
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from spree (originally 20140927193717)
2
+ class DefaultPreTaxAmountShouldBeZero < ActiveRecord::Migration[4.2]
3
+ def change
4
+ change_column :spree_line_items, :pre_tax_amount, :decimal, precision: 8, scale: 2, default: 0
5
+ change_column :spree_shipments, :pre_tax_amount, :decimal, precision: 8, scale: 2, default: 0
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from spree (originally 20141002191113)
2
+ class AddCodeToSpreeShippingMethods < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_column :spree_shipping_methods, :code, :string
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from spree (originally 20141007230328)
2
+ class AddCancelAuditFieldsToSpreeOrders < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_column :spree_orders, :canceled_at, :datetime
5
+ add_column :spree_orders, :canceler_id, :integer
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ # This migration comes from spree (originally 20141009204607)
2
+ class AddStoreIdToOrders < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_column :spree_orders, :store_id, :integer
5
+ if Spree::Store.default.persisted?
6
+ Spree::Order.where(store_id: nil).update_all(store_id: Spree::Store.default.id)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # This migration comes from spree (originally 20141012083513)
2
+ class CreateSpreeTaxonsPrototypes < ActiveRecord::Migration[4.2]
3
+ def change
4
+ create_table :spree_taxons_prototypes do |t|
5
+ t.belongs_to :taxon, index: true
6
+ t.belongs_to :prototype, index: true
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from spree (originally 20141021194502)
2
+ class AddStateLockVersionToOrder < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_column :spree_orders, :state_lock_version, :integer, default: 0, null: false
5
+ end
6
+ end
@@ -0,0 +1,9 @@
1
+ # This migration comes from spree (originally 20141023005240)
2
+ class AddCounterCacheFromSpreeVariantsToSpreeStockItems < ActiveRecord::Migration[4.2]
3
+ # This was unnecessary and was removed
4
+ def up
5
+ end
6
+
7
+ def down
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ # This migration comes from spree (originally 20141101231208)
2
+ class FixAdjustmentOrderPresence < ActiveRecord::Migration[4.2]
3
+ def change
4
+ say 'Fixing adjustments without direct order reference'
5
+ Spree::Adjustment.where(order: nil).find_each do |adjustment|
6
+ adjustable = adjustment.adjustable
7
+ if adjustable.is_a? Spree::Order
8
+ adjustment.update_attributes!(order_id: adjustable.id)
9
+ else
10
+ adjustment.update_attributes!(adjustable: adjustable.order)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ # This migration comes from spree (originally 20141105213646)
2
+ class UpdateClassificationsPositions < ActiveRecord::Migration[4.2]
3
+ def up
4
+ Spree::Taxon.all.each do |taxon|
5
+ taxon.classifications.each_with_index do |c12n, i|
6
+ c12n.set_list_position(i + 1)
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from spree (originally 20141120135441)
2
+ class AddGuestTokenIndexToSpreeOrders < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_index :spree_orders, :guest_token
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from spree (originally 20141215232040)
2
+ class RemoveTokenPermissionsTable < ActiveRecord::Migration[4.2]
3
+ def change
4
+ # The MoveOrderTokenFromTokenizedPermission migration never dropped this.
5
+ drop_table :spree_tokenized_permissions
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from spree (originally 20141215235502)
2
+ class RemoveExtraProductsSlugIndex < ActiveRecord::Migration[4.2]
3
+ def change
4
+ remove_index :spree_products, name: :permalink_idx_unique
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from spree (originally 20141217215630)
2
+ class UpdateProductSlugIndex < ActiveRecord::Migration[4.2]
3
+ def change
4
+ remove_index :spree_products, :slug if index_exists?(:spree_products, :slug)
5
+ add_index :spree_products, :slug, unique: true
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from spree (originally 20141218025915)
2
+ class RenameIdentifierToNumberForPayment < ActiveRecord::Migration[4.2]
3
+ def change
4
+ rename_column :spree_payments, :identifier, :number
5
+ end
6
+ end
@@ -0,0 +1,25 @@
1
+ # This migration comes from spree (originally 20150118210639)
2
+ class CreateSpreeStoreCredits < ActiveRecord::Migration[4.2]
3
+ def change
4
+ create_table :spree_store_credits do |t|
5
+ t.references :user
6
+ t.references :category
7
+ t.references :created_by
8
+ t.decimal :amount, precision: 8, scale: 2, default: 0.0, null: false
9
+ t.decimal :amount_used, precision: 8, scale: 2, default: 0.0, null: false
10
+ t.text :memo
11
+ t.datetime :deleted_at
12
+ t.string :currency
13
+ t.decimal :amount_authorized, precision: 8, scale: 2, default: 0.0, null: false
14
+ t.integer :originator_id
15
+ t.string :originator_type
16
+ t.integer :type_id
17
+ t.timestamps null: false
18
+ end
19
+
20
+ add_index :spree_store_credits, :deleted_at
21
+ add_index :spree_store_credits, :user_id
22
+ add_index :spree_store_credits, :type_id
23
+ add_index :spree_store_credits, [:originator_id, :originator_type], name: :spree_store_credits_originator
24
+ end
25
+ end
@@ -0,0 +1,9 @@
1
+ # This migration comes from spree (originally 20150118211500)
2
+ class CreateSpreeStoreCreditCategories < ActiveRecord::Migration[4.2]
3
+ def change
4
+ create_table :spree_store_credit_categories do |t|
5
+ t.string :name
6
+ t.timestamps null: false
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,18 @@
1
+ # This migration comes from spree (originally 20150118212051)
2
+ class CreateSpreeStoreCreditEvents < ActiveRecord::Migration[4.2]
3
+ def change
4
+ create_table :spree_store_credit_events do |t|
5
+ t.integer :store_credit_id, null: false
6
+ t.string :action, null: false
7
+ t.decimal :amount, precision: 8, scale: 2
8
+ t.string :authorization_code, null: false
9
+ t.decimal :user_total_amount, precision: 8, scale: 2, default: 0.0, null: false
10
+ t.integer :originator_id
11
+ t.string :originator_type
12
+ t.datetime :deleted_at
13
+ t.timestamps null: false
14
+ end
15
+ add_index :spree_store_credit_events, :store_credit_id
16
+ add_index :spree_store_credit_events, [:originator_id, :originator_type], name: :spree_store_credit_events_originator
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # This migration comes from spree (originally 20150118212101)
2
+ class CreateSpreeStoreCreditTypes < ActiveRecord::Migration[4.2]
3
+ def change
4
+ create_table :spree_store_credit_types do |t|
5
+ t.string :name
6
+ t.integer :priority
7
+ t.timestamps null: false
8
+ end
9
+ add_index :spree_store_credit_types, :priority
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from spree (originally 20150121022521)
2
+ class RemoveEnvironmentFromPaymentMethod < ActiveRecord::Migration[4.2]
3
+ def up
4
+ Spree::PaymentMethod.where('environment != ?', Rails.env).update_all(active: false)
5
+ remove_column :spree_payment_methods, :environment
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from spree (originally 20150122145607)
2
+ class AddResellableToReturnItems < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_column :spree_return_items, :resellable, :boolean, default: true, null: false
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ # This migration comes from spree (originally 20150122202432)
2
+ class AddCodeToSpreePromotionCategories < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_column :spree_promotion_categories, :code, :string
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from spree (originally 20150128032538)
2
+ class RemoveEnvironmentFromTracker < ActiveRecord::Migration[4.2]
3
+ def up
4
+ Spree::Tracker.where('environment != ?', Rails.env).update_all(active: false)
5
+ remove_column :spree_trackers, :environment
6
+ end
7
+ end
@@ -0,0 +1,17 @@
1
+ # This migration comes from spree (originally 20150128060325)
2
+ class RemoveSpreeConfigurations < ActiveRecord::Migration[4.2]
3
+ def up
4
+ drop_table "spree_configurations"
5
+ end
6
+
7
+ def down
8
+ create_table "spree_configurations", force: true do |t|
9
+ t.string "name"
10
+ t.string "type", limit: 50
11
+ t.datetime "created_at"
12
+ t.datetime "updated_at"
13
+ end
14
+
15
+ add_index "spree_configurations", ["name", "type"], name: "index_spree_configurations_on_name_and_type"
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ # This migration comes from spree (originally 20150216173445)
2
+ class AddIndexToSpreeStockItemsVariantId < ActiveRecord::Migration[4.2]
3
+ def up
4
+ unless index_exists? :spree_stock_items, :variant_id
5
+ add_index :spree_stock_items, :variant_id
6
+ end
7
+ end
8
+
9
+ def down
10
+ if index_exists? :spree_stock_items, :variant_id
11
+ remove_index :spree_stock_items, :variant_id
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ # This migration comes from spree (originally 20150309161154)
2
+ class EnsurePaymentsHaveNumbers < ActiveRecord::Migration[4.2]
3
+ def change
4
+ add_index :spree_payments, :number unless index_exists?(:spree_payments, :number)
5
+ Spree::Payment.where(number: nil).find_each do |payment|
6
+ payment.generate_number
7
+ payment.update_columns(number: payment.number)
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,68 @@
1
+ # This migration comes from spree (originally 20150314013438)
2
+ class AddMissingIndexesOnSpreeTables < ActiveRecord::Migration[4.2]
3
+ def change
4
+ if data_source_exists?(:spree_promotion_rules_users) && !index_exists?(:spree_promotion_rules_users,
5
+ [:user_id, :promotion_rule_id],
6
+ name: 'index_promotion_rules_users_on_user_id_and_promotion_rule_id')
7
+ add_index :spree_promotion_rules_users,
8
+ [:user_id, :promotion_rule_id],
9
+ name: 'index_promotion_rules_users_on_user_id_and_promotion_rule_id'
10
+ end
11
+
12
+ if data_source_exists?(:spree_products_promotion_rules) && !index_exists?(:spree_products_promotion_rules,
13
+ [:promotion_rule_id, :product_id],
14
+ name: 'index_products_promotion_rules_on_promotion_rule_and_product')
15
+ add_index :spree_products_promotion_rules,
16
+ [:promotion_rule_id, :product_id],
17
+ name: 'index_products_promotion_rules_on_promotion_rule_and_product'
18
+ end
19
+
20
+ unless index_exists? :spree_orders, :canceler_id
21
+ add_index :spree_orders, :canceler_id
22
+ end
23
+
24
+ unless index_exists? :spree_orders, :store_id
25
+ add_index :spree_orders, :store_id
26
+ end
27
+
28
+ if data_source_exists?(:spree_orders_promotions) && !index_exists?(:spree_orders_promotions, [:promotion_id, :order_id])
29
+ add_index :spree_orders_promotions, [:promotion_id, :order_id]
30
+ end
31
+
32
+ if data_source_exists?(:spree_properties_prototypes) && !index_exists?(:spree_properties_prototypes, :prototype_id)
33
+ add_index :spree_properties_prototypes, :prototype_id
34
+ end
35
+
36
+ if data_source_exists?(:spree_properties_prototypes) && !index_exists?(:spree_properties_prototypes,
37
+ [:prototype_id, :property_id],
38
+ name: 'index_properties_prototypes_on_prototype_and_property')
39
+ add_index :spree_properties_prototypes,
40
+ [:prototype_id, :property_id],
41
+ name: 'index_properties_prototypes_on_prototype_and_property'
42
+ end
43
+
44
+ if data_source_exists?(:spree_taxons_prototypes) && !index_exists?(:spree_taxons_prototypes, [:prototype_id, :taxon_id])
45
+ add_index :spree_taxons_prototypes, [:prototype_id, :taxon_id]
46
+ end
47
+
48
+ if data_source_exists?(:spree_option_types_prototypes) && !index_exists?(:spree_option_types_prototypes, :prototype_id)
49
+ add_index :spree_option_types_prototypes, :prototype_id
50
+ end
51
+
52
+ if data_source_exists?(:spree_option_types_prototypes) && !index_exists?(:spree_option_types_prototypes,
53
+ [:prototype_id, :option_type_id],
54
+ name: 'index_option_types_prototypes_on_prototype_and_option_type')
55
+ add_index :spree_option_types_prototypes,
56
+ [:prototype_id, :option_type_id],
57
+ name: 'index_option_types_prototypes_on_prototype_and_option_type'
58
+ end
59
+
60
+ if data_source_exists?(:spree_option_values_variants) && !index_exists?(:spree_option_values_variants,
61
+ [:option_value_id, :variant_id],
62
+ name: 'index_option_values_variants_on_option_value_and_variant')
63
+ add_index :spree_option_values_variants,
64
+ [:option_value_id, :variant_id],
65
+ name: 'index_option_values_variants_on_option_value_and_variant'
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,19 @@
1
+ # This migration comes from spree (originally 20150317174308)
2
+ class RemoveDuplicatedIndexesFromMultiColumns < ActiveRecord::Migration[4.2]
3
+ def change
4
+ remove_index :spree_adjustments, name: "index_adjustments_on_order_id"
5
+ remove_index :spree_option_types_prototypes, :prototype_id
6
+ add_index :spree_option_types_prototypes, :option_type_id
7
+ remove_index :spree_option_values_variants, name: 'index_option_values_variants_on_option_value_and_variant'
8
+ remove_index :spree_option_values_variants, :variant_id
9
+ add_index :spree_option_values_variants, :option_value_id
10
+ remove_index :spree_orders, :user_id
11
+ remove_index :spree_orders_promotions, [:order_id, :promotion_id]
12
+ add_index :spree_orders_promotions, :order_id
13
+ remove_index :spree_products_promotion_rules, name: "index_products_promotion_rules_on_promotion_rule_id"
14
+ remove_index :spree_promotion_rules_users, name: "index_promotion_rules_users_on_user_id"
15
+ remove_index :spree_properties_prototypes, :prototype_id
16
+ remove_index :spree_stock_items, :stock_location_id
17
+ remove_index :spree_taxons_prototypes, :prototype_id
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ # This migration comes from spree (originally 20150324104002)
2
+ class RemoveUserIndexFromSpreeStateChanges < ActiveRecord::Migration[4.2]
3
+ def up
4
+ if index_exists? :spree_state_changes, :user_id
5
+ remove_index :spree_state_changes, :user_id
6
+ end
7
+
8
+ end
9
+
10
+ def down
11
+ unless index_exists? :spree_state_changes, :user_id
12
+ add_index :spree_state_changes, :user_id
13
+ end
14
+ end
15
+ end