APIExtensionsDeveloperUserReleasesDemoSupport
  • Getting Started

    • Installation
    • Understanding Spree
  • Internals

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

    • Storefront
    • Templates
    • Assets (JS & CSS)
    • Images
    • Dependency system
    • Business Logic
    • Checkout Flow
    • Permissions
    • API v2
    • API v1
    • Authentication
    • Internationalization
    • Extensions
    • Emails
  • Advanced

    • Add Spree to an existing Ruby on Rails application
    • Improve SEO
    • Deface Overrides
    • Extend Product Attributes
    • Testing Spree Applications
  • Deployment

    • Amazon Web Services (AWS)
    • Heroku
  • Security

    • PCI Compliance
    • Authentication and Authorization
    • API
  • Contributing

    • Developing Spree
    • Creating an Extension
    • Updating Extensions for 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

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
Maintained bySpree Commerce & Ruby on Rails developers© Spree Commerce. 2021 All Rights Reserved.