spree_core 6.0.0.rc7 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/jobs/spree/maintenance_tasks/run_job.rb +321 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/backfill_order_markets.rb +48 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/capture_methods.rb +40 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/deliveries.rb +15 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/order_coupon_codes.rb +15 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/promotion_option_value_rules.rb +15 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/rake_step.rb +83 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/returns.rb +20 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/users_to_customers.rb +28 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade_step.rb +44 -0
- data/app/models/spree/ability.rb +9 -0
- data/app/models/spree/maintenance_task.rb +221 -0
- data/app/models/spree/maintenance_task_run.rb +78 -0
- data/app/models/spree/upgrade_record.rb +62 -0
- data/app/services/spree/maintenance_tasks/argument_parser.rb +23 -0
- data/app/services/spree/maintenance_tasks/cancel.rb +51 -0
- data/app/services/spree/maintenance_tasks/start.rb +127 -0
- data/app/services/spree/seeds/all.rb +22 -0
- data/config/locales/en.yml +1 -0
- data/db/migrate/20260813130001_add_capture_method_to_payment_methods.rb +1 -1
- data/db/migrate/20260815000001_create_spree_maintenance_task_runs.rb +40 -0
- data/db/migrate/20260816000001_create_spree_upgrade_records.rb +17 -0
- data/lib/generators/spree/api_resource/api_resource_generator.rb +2 -2
- data/lib/spree/core/configuration.rb +6 -0
- data/lib/spree/core/engine.rb +10 -1
- data/lib/spree/core/permissions/default_catalog.rb +7 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/core.rb +16 -1
- data/lib/spree/testing_support/factories/maintenance_task_run_factory.rb +7 -0
- data/lib/spree/upgrade.rb +189 -0
- data/lib/spree/upgrades/5_6_to_6_0/manifest.yml +17 -10
- data/lib/tasks/maintenance_tasks.rake +42 -0
- data/lib/tasks/upgrade.rake +81 -60
- metadata +25 -6
- data/lib/tasks/capture_methods_migration.rake +0 -30
- data/lib/tasks/order_market_backfill.rake +0 -27
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 6.0.0
|
|
4
|
+
version: 6.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sean Schofield
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2026-10-
|
|
13
|
+
date: 2026-10-27 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: i18n-tasks
|
|
@@ -745,6 +745,7 @@ files:
|
|
|
745
745
|
- app/jobs/spree/imports/process_group_job.rb
|
|
746
746
|
- app/jobs/spree/imports/process_job.rb
|
|
747
747
|
- app/jobs/spree/imports/process_rows_job.rb
|
|
748
|
+
- app/jobs/spree/maintenance_tasks/run_job.rb
|
|
748
749
|
- app/jobs/spree/orders/finalize_stale_drafts_job.rb
|
|
749
750
|
- app/jobs/spree/payments/cancel_unused_sessions_job.rb
|
|
750
751
|
- app/jobs/spree/payments/handle_webhook_job.rb
|
|
@@ -777,6 +778,15 @@ files:
|
|
|
777
778
|
- app/mailers/spree/invitation_mailer.rb
|
|
778
779
|
- app/mailers/spree/seller_user_mailer.rb
|
|
779
780
|
- app/mailers/spree/webhook_mailer.rb
|
|
781
|
+
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/backfill_order_markets.rb
|
|
782
|
+
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/capture_methods.rb
|
|
783
|
+
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/deliveries.rb
|
|
784
|
+
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/order_coupon_codes.rb
|
|
785
|
+
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/promotion_option_value_rules.rb
|
|
786
|
+
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/rake_step.rb
|
|
787
|
+
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/returns.rb
|
|
788
|
+
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/users_to_customers.rb
|
|
789
|
+
- app/maintenance_tasks/spree/maintenance_tasks/upgrade_step.rb
|
|
780
790
|
- app/models/concerns/spree/account_deactivation.rb
|
|
781
791
|
- app/models/concerns/spree/account_lockout.rb
|
|
782
792
|
- app/models/concerns/spree/acted_by.rb
|
|
@@ -1064,6 +1074,8 @@ files:
|
|
|
1064
1074
|
- app/models/spree/label_purchase.rb
|
|
1065
1075
|
- app/models/spree/line_item.rb
|
|
1066
1076
|
- app/models/spree/locale.rb
|
|
1077
|
+
- app/models/spree/maintenance_task.rb
|
|
1078
|
+
- app/models/spree/maintenance_task_run.rb
|
|
1067
1079
|
- app/models/spree/market.rb
|
|
1068
1080
|
- app/models/spree/market_country.rb
|
|
1069
1081
|
- app/models/spree/media.rb
|
|
@@ -1291,6 +1303,7 @@ files:
|
|
|
1291
1303
|
- app/models/spree/taxonomy.rb
|
|
1292
1304
|
- app/models/spree/translations/batch.rb
|
|
1293
1305
|
- app/models/spree/update_status.rb
|
|
1306
|
+
- app/models/spree/upgrade_record.rb
|
|
1294
1307
|
- app/models/spree/user_identity.rb
|
|
1295
1308
|
- app/models/spree/variant.rb
|
|
1296
1309
|
- app/models/spree/variant_media.rb
|
|
@@ -1389,6 +1402,9 @@ files:
|
|
|
1389
1402
|
- app/services/spree/imports/row_processors/purchase_order.rb
|
|
1390
1403
|
- app/services/spree/locales.rb
|
|
1391
1404
|
- app/services/spree/locales/set_fallback_locale_for_store.rb
|
|
1405
|
+
- app/services/spree/maintenance_tasks/argument_parser.rb
|
|
1406
|
+
- app/services/spree/maintenance_tasks/cancel.rb
|
|
1407
|
+
- app/services/spree/maintenance_tasks/start.rb
|
|
1392
1408
|
- app/services/spree/media/destroy.rb
|
|
1393
1409
|
- app/services/spree/media/usage.rb
|
|
1394
1410
|
- app/services/spree/newsletter/link_user.rb
|
|
@@ -1931,8 +1947,10 @@ files:
|
|
|
1931
1947
|
- db/migrate/20260814000001_rename_stock_items_to_stock_levels.rb
|
|
1932
1948
|
- db/migrate/20260814000002_add_typed_stock_movements.rb
|
|
1933
1949
|
- db/migrate/20260815000001_add_audience_to_spree_refresh_tokens.rb
|
|
1950
|
+
- db/migrate/20260815000001_create_spree_maintenance_task_runs.rb
|
|
1934
1951
|
- db/migrate/20260815000002_add_resource_to_spree_roles.rb
|
|
1935
1952
|
- db/migrate/20260816000001_create_spree_sellers.rb
|
|
1953
|
+
- db/migrate/20260816000001_create_spree_upgrade_records.rb
|
|
1936
1954
|
- db/migrate/20260816000002_add_seller_to_spree_products.rb
|
|
1937
1955
|
- db/migrate/20260816210001_create_spree_commission_rates.rb
|
|
1938
1956
|
- db/migrate/20260816210002_create_spree_commission_lines.rb
|
|
@@ -2198,6 +2216,7 @@ files:
|
|
|
2198
2216
|
- lib/spree/testing_support/factories/integration_factory.rb
|
|
2199
2217
|
- lib/spree/testing_support/factories/invitation_factory.rb
|
|
2200
2218
|
- lib/spree/testing_support/factories/line_item_factory.rb
|
|
2219
|
+
- lib/spree/testing_support/factories/maintenance_task_run_factory.rb
|
|
2201
2220
|
- lib/spree/testing_support/factories/market_factory.rb
|
|
2202
2221
|
- lib/spree/testing_support/factories/media_factory.rb
|
|
2203
2222
|
- lib/spree/testing_support/factories/newsletter_subscriber_factory.rb
|
|
@@ -2294,6 +2313,7 @@ files:
|
|
|
2294
2313
|
- lib/spree/testing_support/tax_identifier_validators.rb
|
|
2295
2314
|
- lib/spree/testing_support/url_helpers.rb
|
|
2296
2315
|
- lib/spree/translations.rb
|
|
2316
|
+
- lib/spree/upgrade.rb
|
|
2297
2317
|
- lib/spree/upgrades/5_4_to_5_5/manifest.yml
|
|
2298
2318
|
- lib/spree/upgrades/5_5_to_5_6/manifest.yml
|
|
2299
2319
|
- lib/spree/upgrades/5_6_to_6_0/manifest.yml
|
|
@@ -2308,7 +2328,6 @@ files:
|
|
|
2308
2328
|
- lib/tasks/backfill_media_store_ids.rake
|
|
2309
2329
|
- lib/tasks/backfill_reason_store_ids.rake
|
|
2310
2330
|
- lib/tasks/backfill_tagging_tenants.rake
|
|
2311
|
-
- lib/tasks/capture_methods_migration.rake
|
|
2312
2331
|
- lib/tasks/carts_migration.rake
|
|
2313
2332
|
- lib/tasks/categories_and_collections.rake
|
|
2314
2333
|
- lib/tasks/channels.rake
|
|
@@ -2323,6 +2342,7 @@ files:
|
|
|
2323
2342
|
- lib/tasks/fold_store_credit_categories.rake
|
|
2324
2343
|
- lib/tasks/fulfillment_statuses_migration.rake
|
|
2325
2344
|
- lib/tasks/inventory_operations_migration.rake
|
|
2345
|
+
- lib/tasks/maintenance_tasks.rake
|
|
2326
2346
|
- lib/tasks/markets.rake
|
|
2327
2347
|
- lib/tasks/media.rake
|
|
2328
2348
|
- lib/tasks/media_class_rename.rake
|
|
@@ -2333,7 +2353,6 @@ files:
|
|
|
2333
2353
|
- lib/tasks/migrate_users_to_customers.rake
|
|
2334
2354
|
- lib/tasks/money.rake
|
|
2335
2355
|
- lib/tasks/order_coupon_code_backfill.rake
|
|
2336
|
-
- lib/tasks/order_market_backfill.rake
|
|
2337
2356
|
- lib/tasks/package_types.rake
|
|
2338
2357
|
- lib/tasks/preferences_json.rake
|
|
2339
2358
|
- lib/tasks/price_history.rake
|
|
@@ -2378,9 +2397,9 @@ licenses:
|
|
|
2378
2397
|
- BSD-3-Clause
|
|
2379
2398
|
metadata:
|
|
2380
2399
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
|
2381
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0
|
|
2400
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0
|
|
2382
2401
|
documentation_uri: https://docs.spreecommerce.org/
|
|
2383
|
-
source_code_uri: https://github.com/spree/spree/tree/v6.0.0
|
|
2402
|
+
source_code_uri: https://github.com/spree/spree/tree/v6.0.0
|
|
2384
2403
|
post_install_message:
|
|
2385
2404
|
rdoc_options: []
|
|
2386
2405
|
require_paths:
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# 5.6 → 6.0 conversion of the per-payment-method auto_capture boolean onto the
|
|
4
|
-
# capture_method vocabulary (docs/plans/6.0-store-scoped-configuration.md).
|
|
5
|
-
# Idempotent — it only writes rows whose capture_method is still empty, so a
|
|
6
|
-
# second run finds nothing to do and an interrupted run resumes for free.
|
|
7
|
-
namespace :spree do
|
|
8
|
-
desc 'Convert payment method auto_capture booleans into capture_method values'
|
|
9
|
-
task migrate_capture_methods: :environment do
|
|
10
|
-
batch_size = ENV.fetch('BATCH_SIZE', 5_000).to_i
|
|
11
|
-
say = ->(message) { puts message }
|
|
12
|
-
|
|
13
|
-
payment_methods = Spree::PaymentMethod.unscoped.where(capture_method: nil)
|
|
14
|
-
|
|
15
|
-
# A method that captured on authorization charges at checkout. One that did
|
|
16
|
-
# not only recorded "not at checkout" — the old column could not say
|
|
17
|
-
# whether dispatch or staff was meant to take the money, and the store's
|
|
18
|
-
# own setting is what decided. Leaving those rows empty is what makes them
|
|
19
|
-
# keep inheriting it, so only the true case is written here.
|
|
20
|
-
count = payment_methods.where(auto_capture: true).
|
|
21
|
-
in_batches(of: batch_size).
|
|
22
|
-
update_all(capture_method: 'checkout')
|
|
23
|
-
say.call "spree_payment_methods.capture_method: #{count} rows auto_capture → checkout"
|
|
24
|
-
|
|
25
|
-
remaining = Spree::PaymentMethod.unscoped.where(capture_method: nil, auto_capture: false).count
|
|
26
|
-
say.call "spree_payment_methods.capture_method: #{remaining} rows left inheriting the store setting"
|
|
27
|
-
|
|
28
|
-
say.call 'migrate_capture_methods done.'
|
|
29
|
-
end
|
|
30
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# 5.6 → 6.0: market is mandatory on orders in Spree 6. Orders created before
|
|
4
|
-
# markets existed carry NULLs — backfill from the store's default market so
|
|
5
|
-
# the 6.1 NOT NULL constraint can land. (channel_id has no equivalent task
|
|
6
|
-
# here: the 5.4→5.5 manifest's spree:channels:backfill_order_channel_ids
|
|
7
|
-
# already covers it on every upgrade path.)
|
|
8
|
-
namespace :spree do
|
|
9
|
-
desc 'Backfill missing market on orders from the store default market'
|
|
10
|
-
task backfill_order_markets: :environment do
|
|
11
|
-
batch_size = ENV.fetch('BATCH_SIZE', 5_000).to_i
|
|
12
|
-
|
|
13
|
-
Spree::Store.all.find_each do |store|
|
|
14
|
-
market_id = store.default_market&.id
|
|
15
|
-
|
|
16
|
-
if market_id
|
|
17
|
-
count = Spree::Order.unscoped.where(store_id: store.id, market_id: nil).
|
|
18
|
-
in_batches(of: batch_size).update_all(market_id: market_id)
|
|
19
|
-
puts "store #{store.code}: #{count} orders assigned market #{market_id}" if count.positive?
|
|
20
|
-
else
|
|
21
|
-
puts "store #{store.code}: no default market — orders left as-is"
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
puts 'backfill_order_markets done. The NOT NULL constraint lands in 6.1.'
|
|
26
|
-
end
|
|
27
|
-
end
|