description |
---|
Update your installation to the v4.2.latest version from an v4.1 version. |
This update procedure applies if you're using a v4.1 installation.
[[% include 'snippets/update/temporary_v4_conflicts.md' %]]
Before you update to v4.2, you need to go through the following steps to update to the latest maintenance release of v4.1 (v[[= latest_tag_4_1 =]]).
Run:
=== "[[= product_name_content =]]"
``` bash
composer require ibexa/content:[[= latest_tag_4_1 =]] --with-all-dependencies --no-scripts
```
=== "[[= product_name_exp =]]"
``` bash
composer require ibexa/experience:[[= latest_tag_4_1 =]] --with-all-dependencies --no-scripts
```
=== "[[= product_name_com =]]"
``` bash
composer require ibexa/commerce:[[= latest_tag_4_1 =]] --with-all-dependencies --no-scripts
```
The Fastly .vcl
configuration files have changed.
Follow the upgrade steps below to update them:
- Locate the
vendor/ibexa/fastly/fastly/ez_main.vcl
file and update your VCL file with the recent changes. - Do the same with
vendor/ibexa/fastly/fastly/ez_user_hash.vcl
. - Upload a new
snippet_re_enable_shielding.vcl
snippet file, based onvendor/ibexa/fastly/fastly/snippet_re_enable_shielding.vcl
.
Once the VCL configuration has been updated, you may enable Fastly Shielding if you prefer.
When you have the latest version of v4.1, you can update to v4.2.
First, run:
=== "[[= product_name_content =]]"
``` bash
composer require ibexa/content:[[= latest_tag_4_2 =]] --with-all-dependencies --no-scripts
composer recipes:install ibexa/content --force -v
```
=== "[[= product_name_exp =]]"
``` bash
composer require ibexa/experience:[[= latest_tag_4_2 =]] --with-all-dependencies --no-scripts
composer recipes:install ibexa/experience --force -v
```
=== "[[= product_name_com =]]"
``` bash
composer require ibexa/commerce:[[= latest_tag_4_2 =]] --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.
Next, run data migration required by Product Categories:
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're using [[= product_name_exp =]] or [[= product_name_com =]], run data migration required by the Customer portal feature:
php bin/console ibexa:migrations:import vendor/ibexa/corporate-account/src/bundle/Resources/migrations/corporate_account.yaml --name=001_corporate_account.yaml
If you're using [[= product_name_com =]], additionally run:
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:
php bin/console ibexa:migrations:migrate
Next, update the database.
[[% include 'snippets/update/db/db_backup_warning.md' %]]
Apply the following database update scripts:
=== "MySQL"
``` bash
mysql -u <username> -p <password> <database_name> < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.1.latest-to-4.2.0.sql
mysql -u <username> -p <password> <database_name> < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.2.2-to-4.2.3.sql
```
=== "PostgreSQL"
``` bash
psql <database_name> < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.1.latest-to-4.2.0.sql
psql <database_name> < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.2.2-to-4.2.3.sql
```
If you have no access to [[= product_name =]]'s ibexa/installer
package, database upgrade isn't necessary.
Following Security advisory: IBEXA-SA-2022-009, unless you can verify based on your log files that the vulnerability has not been exploited, you should revoke passwords for all affected users.
Next, remove node_modules
and yarn.lock
before running composer run post-update-cmd
,
otherwise you can encounter errors during compiling.
rm -Rf node_modules
rm -Rf yarn.lock