APIDeveloperUserRelease NotesDemoContact Us
  • Core

    • Addresses
    • Adjustments
    • Calculators
    • Inventory
    • Orders
    • Payments
    • Preferences
    • Products
    • Promotions
    • Shipments
    • Taxation
  • Customization

    • Storefront Customization
    • View Customization
    • Asset Customization
    • Images Customization
    • Dependency system
    • Logic Customization
    • Checkout Flow
    • Permissions Customization
    • API v2 Customization
    • API v1 Customization
    • Custom Authentication
    • Internationalization
    • Extensions
    • Emails Customization
  • Source

    • About the Code
    • Getting Help
    • Navigating the Source
  • Tutorials

    • Getting Started
    • Add Spree to an existing Ruby on Rails application
    • Developing Spree
    • Improve SEO
    • Creating an Extension
    • Deface Overrides
    • Extend Product Attributes
    • Security
    • Testing Spree Applications
    • Updating Extensions to Rails 6 and Spree 4
  • Upgrades

    • Upgrading Spree 4.1 to 4.2
    • Upgrading Spree 4.0 to 4.1
    • Upgrading Spree 3.7 to 4.0
    • Upgrading Spree from 3.6 to 3.7
    • Upgrading Spree from 3.5 to 3.6
    • Upgrading Spree from 3.4 to 3.5
    • Upgrading Spree from 3.3 to 3.4
    • Upgrading Spree from 3.2 to 3.3
    • Upgrading Spree from 3.1 to 3.2
    • Upgrading Spree from 3.0 to 3.1
    • All Upgrade Guides

Table Of Contents

Update GemfileRun bundle updateInstall missing migrationsRun migrationsMigrate Taxon icons to Spree AssetsEnsure all Orders associated to StoreEnsure all Orders have currency presentReplace guest_token with token in your codebaseRead the release notes

Upgrading Spree from 3.6 to 3.7

This guide covers upgrading a 3.6 Spree application, to version 3.7.

Update Gemfile

gem 'spree', '~> 3.7.0'
gem 'spree_auth_devise', '~> 3.5'
gem 'spree_gateway', '~> 3.4'

Run bundle update

Install missing migrations

rails spree:install:migrations
rails spree_api:install:migrations
rails spree_auth:install:migrations
rails spree_gateway:install:migrations

Run migrations

rails db:migrate

Migrate Taxon icons to Spree Assets

We renamed TaxonIcon to TaxonImage to clarify usage of this model. If you were using TaxonIcon please run this to migrate your icons to images:

rails db:migrate_taxon_icons_to_images

Ensure all Orders associated to Store

Orders needs to be associated to Stores. To ensure all existing Order are associated with Store please run this:

rails db:associate_orders_with_store

This will associate all Orders without Store to the default Store. This can take some time depending on your volume of data.

Ensure all Orders have currency present

To enhance multi currency capabilities we’ve made currency presence obligatory in Order model. To ensure all existing Orders have currency present please run this command:

rails db:ensure_order_currency_presence

This will set currency in Orders without currency set to Spree::Config[:default_currency] value. This can take some time depending on your volume of data.

Replace guest_token with token in your codebase

Order#guest_token was renamed to Order#token in order to unify the experience for guest checkouts and orders placed by signed in users.

Read the release notes

For information about changes contained within this release, please read the 3.7.0 Release Notes.

Propose changes to this page
Designed and developed bySpree Commerce & Ruby on Rails developers© Spree Commerce. 2021 All Rights Reserved.