Skip to content

Update from v4.1.x to v4.2

This update procedure applies if you are using a v4.1 installation.

Update from v4.1.x to v4.1.latest

Before you update to v4.2, you need to go through the following steps to update to the latest maintenance release of v4.1 (v4.1.5).

Update the application

Run:

1
composer require ibexa/content:4.1.5 --with-all-dependencies --no-scripts
1
composer require ibexa/experience:4.1.5 --with-all-dependencies --no-scripts
1
composer require ibexa/commerce:4.1.5 --with-all-dependencies --no-scripts

Update from v4.1.latest to v4.2

When you have the latest version of v4.1, you can update to v4.2.

Update the application

First, run:

1
2
composer require ibexa/content:4.2.1 --with-all-dependencies --no-scripts
composer recipes:install ibexa/content --force -v
1
2
composer require ibexa/experience:4.2.1 --with-all-dependencies --no-scripts
composer recipes:install ibexa/experience --force -v
1
2
composer require ibexa/commerce:4.2.1 --with-all-dependencies --no-scripts
composer recipes:install ibexa/commerce --force -v

The recipes:install command installs new YAML configuration files. Review the old YAML files and move your custom configuration to the relevant new files.

Run data migration

Next, run data migration required by Product Categories:

1
php bin/console ibexa:migrations:import vendor/ibexa/product-catalog/src/bundle/Resources/migrations/2022_06_23_09_39_product_categories.yaml --name=013_product_categories.yaml

If you are using Ibexa Experience or Ibexa Commerce, run data migration required by the Customer portal feature:

1
php bin/console ibexa:migrations:import vendor/ibexa/corporate-account/src/bundle/Resources/migrations/corporate_account.yaml --name=001_corporate_account.yaml

If you are using Ibexa Commerce, additionally run:

1
php bin/console ibexa:migrations:import vendor/ibexa/corporate-account/src/bundle/Resources/migrations/corporate_account_commerce.yaml --name=002_corporate_account_commerce.yaml

Run php bin/console ibexa:migrations:migrate -v --dry-run to ensure that all migrations are ready to be performed. If the dry run is successful, run:

1
php bin/console ibexa:migrations:migrate

Update the database

Next, update the database.

Caution

Always back up your data before running any database update scripts.

After updating the database, clear the cache.

Do not use --force argument for mysql / psql commands when performing update queries. If there is any problem during the update, it is best if the query fails immediately, so you can fix the underlying problem before you execute the update again. If you leave this for later you risk ending up with an incompatible database, though the problems might not surface immediately.

Apply the following database update scripts:

1
mysql -u <username> -p <password> <database_name> < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.1.latest-to-4.2.0.sql
1
psql <database_name> < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.1.latest-to-4.2.0.sql

Remove node_modules and yarn.lock

Next, remove node_modules and yarn.lock before running composer run post-update-cmd, otherwise you can encounter errors during compiling.

1
2
rm -Rf node_modules
rm -Rf yarn.lock