Solution: Upgrading eZ Publish 3.3 to 3.9
Table of contents:
Prerequisits
- If you need to upgrade eZ, start here:
- http://ez.no/doc/ez_publish/upgrading
- Examine this image carefully:
- http://ez.no/doc/layout/set/full/ez_publish/upgrading/images/ez_publish_releases
Requirements
- Backup the database!
Steps
- Then, open Notepad and list your upgrade path, with every stop. You can then copy and paste out of Notepad onto the command line.
- Pay particular attention to the scripts listed on each page (for example: upgrading from 3.3-5 to 3.4).
- Some of the scripts don't run (due to version conflicts), and some are optional. Read the pages in the upgrade documentation carefully - or you'll have to do it over and over.
- Take your time and be patient. The commands below are an example, you'll need to substitute your database access parameters as well as the siteaccess names.
Commands will vary between different upgrade paths.
mysql -udb_ez -p db_ez < update/database/mysql/3.4/dbupdate-3.3-5-to-3.4.0.sql php-cli update/common/scripts/updateremoteid.php php-cli update/common/scripts/updatesession.php php-cli update/common/scripts/updatetoplevel.php php-cli update/common/scripts/addorderemail.php mysql -udb_ez -p db_ez < update/database/mysql/3.4/dbupdate-3.4.0-to-3.4.1.sql mysql -udb_ez -p db_ez < update/database/mysql/3.4/dbupdate-3.4.1-to-3.4.2.sql mysql -udb_ez -p db_ez < update/database/mysql/3.4/dbupdate-3.4.2-to-3.4.3.sql mysql -udb_ez -p db_ez < update/database/mysql/3.4/dbupdate-3.4.3-to-3.4.4.sql mysql -u db_ez -p db_ez < update/database/mysql/3.5/dbupdate-3.4.4-to-3.5.0.sql php-cli update/common/scripts/updateiscontainer.php -s new php-cli update/common/scripts/updateniceurls.php php-cli update/common/scripts/updatesearchindex.php --clean mysql -u db_ez -p db_ez < update/database/mysql/3.5/dbupdate-3.5.0-to-3.5.1.sql mysql -u db_ez -p db_ez < update/database/mysql/3.5/dbupdate-3.5.1-to-3.5.2.sql php-cli update/common/scripts/updatetoplevel.php -s adm php-cli update/common/scripts/updateeztimetype.php -s new php-cli update/common/scripts/updatecrc32.php mysql -u db_ez -p db_ez < update/database/mysql/3.6/dbupdate-3.5.2-to-3.6.0.sql php-cli update/common/scripts/convertxmllinks.php php-cli update/common/scripts/updaterelatedobjectslinks.php -s adm mysql -u db_ez -p db_ez < update/database/mysql/3.8/dbupdate-3.6.0-to-3.8.0.sql php-cli update/common/scripts/updatemultilingual.php -s new php-cli update/common/scripts/updaterssimport.php -s new mysql -u db_ez -p db_ez < update/database/mysql/3.8/dbupdate-3.8.0-to-3.8.1.sql mysql -u db_ez -p db_ez < update/database/mysql/3.8/dbupdate-3.8.1-to-3.8.2.sql mysql -u db_ez -p db_ez < update/database/mysql/3.8/dbupdate-3.8.2-to-3.8.3.sql mysql -u db_ez -p db_ez < update/database/mysql/3.8/dbupdate-3.8.3-to-3.8.4.sql mysql -u db_ez -p db_ez < update/database/mysql/3.8/dbupdate-3.8.4-to-3.8.5.sql mysql -u db_ez -p db_ez < update/database/mysql/3.8/dbupdate-3.8.5-to-3.8.6.sql php-cli update/common/scripts/correctxmltextclasses.php --global
Results
I upgraded from 3.3-5 to 3.8.6 and it went fairly smoothly.
Problems
Issues I did encounter
- updatetoplevel.php updated override/content.ini.append.php like so, and the system didn't run well. (I commented the changes out):
#[NodeSettings] #RootNode=4159 #UserRootNode=4160 #MediaRootNode=4161 #SetupRootNode=4163 #DesignRootNode=4162
Results
updateiscontainer.php didn't run, and although I normally don't make changes in the database - I changed the ezcontentclass table and set the is_container flag manually.
- At this time, you should be able to use the admin console.
- Go to Setup > Upgrade > and check the database consistency.
- Manually run any SQL through the database engine.
- Clearing the cache and updating the search index are important.