Table of Contents
Overview
This article discusses how to upgrade to:
- Magento Community Edition (CE) 1.8 or 1.9
- Magento Enterprise Edition (EE) 1.13 or 1.14
Upgrade Path
The following table provides basic information about how you perform your upgrade. More detailed information is discussed later in this article.
Edition and version | Upgrade path |
---|---|
CE 1.4 or earlier | Your current CE version > CE 1.7 > CE 1.9.0.0 |
CE 1.5 or later | Your current CE version > CE 1.9.0.0 |
EE 1.7 or earlier | Your current EE version > EE 1.12 > EE 1.14.0.0 |
EE 1.8 or later | Your current EE version > EE 1.14.0.0 |
Magento EE Upgrade Path
Because of changes to URL rewrites, the upgrade to Magento EE 1.13.0.2 or later is more complex than other upgrades. (This includes upgrading to Magento EE 1.14.)
Follow are the specific versions affected:
- Upgrading from EE 1.12 or earlier to EE 1.13.0.2 or later (including to EE 1.14)
- Upgrading from EE 1.13.0.1 to EE 1.13.0.2 or later (including to EE 1.14)
For more information about these upgrades, see Understanding the Upgrade to EE 1.13.0.2 or EE 1.14.
Upgrading to Magento CE 1.9
Unless you're upgrading from an older CE version, skip the remainder of this article and continue with Upgrade Roadmap for Community Edition (CE).
Upgrading From Older Versions of Magento CE or EE
Provided you complete all tasks discussed in this article exactly as discussed, you can upgrade to Magento CE 1.9 or EE 1.14 from CE 1.5 or later or EE 1.8 or later.
Important: Do not upgrade directly to this release if you're currently running CE 1.4 or earlier or EE 1.7 or earlier. A safer approach would be:
- Upgrade to CE 1.7 or EE 1.12
- Thoroughly test CE 1.7 or EE 1.12 and fix any issues
- Back up the system
- Upgrade to CE 1.9 or EE 1.14
- Use caution when upgrading from versions older than CE 1.7 or EE 1.12 because core code on which your extensions are based and database schema have likely changed.
- To apply the security patch (October 2016) as part of your upgrade, see How to Apply the SUPEE-8788 Patch.
To upgrade to CE 1.8, skip the remainder of this article and continue with Upgrading to and Verifying Magento Community Edition 1.8 and Enterprise Edition 1.13—Part 2.
To upgrade from EE 1.13.0.2 to EE 1.13.1.0, skip the remainder of this article and continue with Upgrading to and Verifying Magento Community Edition 1.8 and Enterprise Edition 1.13—Part 2.
Understanding the Upgrade to EE 1.13.0.2 or EE 1.14
The following sections apply only to the following Magento EE upgrades:
- Upgrading from EE 1.12 or earlier to EE 1.13.0.2 or later
- Upgrading from EE 1.13.0.1 to EE 1.13.0.2 or later
Why This Upgrade is Different
This section discusses why the upgrade to EE 1.13.0.2 or later requires you to perform different tasks than previous upgrades.
One of the results of the change to the way URL keys are handled is that URLs for the same products or categories might need to change from the URLs in the version you're upgrading from. Following are scenarios that might cause URL keys to change:
- All product keys must be unique. Any duplicate product URL keys are changed. For example, if two products had the URL key
nike-shoes
, one of them is changed to a URL key likenike-shoes-1
by the URL redirect scripts. This also resolves any conflicts (for example, if you already had another product with keynike-shoes-1
). - Categories at the same level in the hierarchy in the same store view must have unique URL keys.
For example, if you have ashoes
category with URL keyshoes
in English store view,schuhe
in the German store view andschuhe
in the Swiss store view, the upgrade scripts change one of the category's URL keys to something likeschuhe-1
.
To ensure customers and search engines will be directed to the correct page, Magento provides a script that creates HTTP 301 (Moved Permanently) redirects for URLs that are changed.
In other words, after the upgrade, all pre-upgrade URLs work but they might be different than they were before you upgraded.
The way you upgrade depends on what EE version you're starting from. The following roadmaps provide a high-level overview of the upgrade process:
Upgrading From EE 1.12 or Earlier
Following is a high-level roadmap to upgrade to EE 1.13.0.2 or later from EE 1.12 or earlier. This upgrade involves tasks not required for other Magento upgrades; these new tasks are indicated in the roadmap.
- Install Magento in a different directory:
- Recommended. Set up a new system (that is, another host) on which to install Magento.
The system should be identical to, if not better than, your current system. The new system must meet the Magento system requirements. - Install Magento in a new, empty root installation directory on the same server.
Important: Do not upgrade Magento in the same directory on the same server because post-upgrade errors are likely to occur. - Recommended. Set up a new system (that is, another host) on which to install Magento.
- In your current production environment:
- Back up your Magento database.
- Archive the file system.
This includes themedia
directory and subdirectories; all extensions and customizations; and all custom themes.
- In the development or test environment:
- Create a new, empty database instance.
- Import the production database tables into the development database instance.
- Copy your production
media
directory, extensions, themes, and other customizations to the development system. - Copy
local.xml
to[your Magento install dir]/app/etc
and edit it if necessary to reference the production database instance. - Stop all cron jobs.
- In a web browser, go to your new base URL.
- Wait for upgrade scripts to run.
- Set all indexers to update when scheduled (System > Configuration > ADVANCED > Index Management, Update when scheduled.
- Run the URL redirect script to create 301 redirects:
cd [your Magento install dir] php -f shell/url_migration_to_1_13.php - thread-count
thread-count is the number of CPU cores in your Magento server, minus 1, to a maximum of 15. - Run a full reindex from the command line:
[your Magento install dir]/php -f shell/indexer.php -- --reindexall
- Clear the following directories from the command line:
[your Magento install dir]/var/cache /var/full_page_cache /var/locks
- Enable cron and make sure the Magento cron job is set up.
- Verify the upgraded system is now identical to the production system.
If not, fix issues, retest, and upgrade again.
- Test the upgrade thoroughly, including:
- Verify all extensions, themes, and customizations work.
- Place orders using all webstores and all payment methods.
Step-by-step instructions for your upgrade start here.
Upgrading From EE 1.13.0.1
Following is a high-level roadmap to upgrade to EE 1.13.0.2 or later from EE 1.13.0.1. This upgrade involves tasks not required for other Magento upgrades; these new tasks are indicated in the roadmap.
- Install Magento in a different directory:
- Recommended. Set up a new system (that is, another host) on which to install Magento.
The system should be identical to, if not better than, your current system. The new system must meet the Magento system requirements. - Install Magento in a new, empty root installation directory on the same server.
Important: Do not upgrade Magento in the same directory on the same server because post-upgrade errors are likely to occur. - Recommended. Set up a new system (that is, another host) on which to install Magento.
- In your current production environment:
- Back up your Magento database.
- Archive the file system.
This includes themedia
directory and subdirectories; all extensions and customizations; and all custom themes.
- In the development or test environment:
- Create a new, empty database instance.
- Import the production database tables into the development database instance.
- Copy your production
media
directory, extensions, themes, and other customizations to the development system. - Copy
local.xml
to[your Magento install dir]/app/etc
and edit it if necessary to reference the production database instance. - Stop all cron jobs.
- Run the URL redirect script to create 301 redirects:
[your Magento install dir]/php -f shell/url_migration_from_1_13_0_0_to_1_13_0_2.php
- In a web browser, go to your new base URL.
- Wait for upgrade scripts to run.
- Run a full reindex from the command line:
[your Magento install dir]/php -f shell/indexer.php -- --reindexall
- Clear the following directories from the command line:
[your Magento install dir]/var/cache /var/full_page_cache /var/locks
- Enable cron and make sure the Magento cron job is set up.
- Verify the upgraded system is now identical to the production system.
If not, fix issues, retest, and upgrade again.
- Test the upgrade thoroughly, including:
- Verify all extensions, themes, and customizations work.
- Place orders using all webstores and all payment methods.
Important:
- Only after upgrade is tested and all errors fixed should you consider using it as your production system.
- Back up your system frequently during the upgrade process so you can roll back to a previous state in the event of errors or issues.
- To avoid unnecessary downtime and potential issues, never upgrade Magento in a live environment!
Step-by-step instructions for your upgrade start here.