From be6a8af52164d3e61577915820a726f87ae9343e Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 3 Aug 2026 11:20:09 +0200 Subject: [PATCH 01/11] update_from_4.6.md: Ibexa Doctrine Migrations --- .../from_4.6/update_from_4.6.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/update_and_migration/from_4.6/update_from_4.6.md b/docs/update_and_migration/from_4.6/update_from_4.6.md index 70949ef346..368e2ba189 100644 --- a/docs/update_and_migration/from_4.6/update_from_4.6.md +++ b/docs/update_and_migration/from_4.6/update_from_4.6.md @@ -734,6 +734,25 @@ In addition, consider upgrading your project to one of [the actively supported P No additional steps needed. +## v4.6.3X + +### Database update + +v4.6.3X introduces Ibexa Doctrine Migrations to manage database schema changes. +It replaces the previous usage of SQL files (like vendor/ibexa/installer/upgrade/db//ibexa-x.y.a-to-x.y.b.sql). + +Run the following to run a basic schema check and store the database status. + +```bash +php bin/console ibexa:doctrine:migrations:migrate +``` + +!!! caution + + Notice that this command isn't a full schema conformity checker. + It tests the presence of key elements to determine if a previous change has been applied or not. + If, in the past, you had incomplete schema upgrades, Ibexa Doctring Migrations command can be misled into considering a change as fully applied while it's only partially applied. + ## LTS Updates [LTS Updates](https://doc.ibexa.co/en/4.6/ibexa_products/editions/#lts-updates) are standalone packages with their own update procedures. From 1b4038a1529e94d621c2eec50c5da1a5b90bad10 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 3 Aug 2026 16:47:07 +0200 Subject: [PATCH 02/11] update_to_5.0.md: Ibexa Doctrine Migrations --- .../doctrine_migrations.md | 33 ++++++ .../from_4.6/update_from_4.6.md | 2 +- .../from_4.6/update_to_5.0.md | 105 +++++++----------- 3 files changed, 75 insertions(+), 65 deletions(-) create mode 100644 docs/update_and_migration/doctrine_migrations.md diff --git a/docs/update_and_migration/doctrine_migrations.md b/docs/update_and_migration/doctrine_migrations.md new file mode 100644 index 0000000000..170086e4f8 --- /dev/null +++ b/docs/update_and_migration/doctrine_migrations.md @@ -0,0 +1,33 @@ +--- +description: Update your installation's database schema. +month_change: true +--- + +# Ibexa Doctrine Migrations + +Ibexa Doctrine Migrations is a tool to update your installation's database schema introduced in v6.0.0, v5.0.Y, and v4.6.3X for all editions. +It helps when moving to the latest patch version, it also helps when moving to a upper major version or to an upper edition of the product. + +To be able to take advantage of Ibexa Doctrine Migrations, you need to be on a version including it. +Before changing your major version or your edition, move to the latest patch version of your current major version and edition. + +TODO: For example: + +- Headless v4.6.x [→ Headless v4.6.latest](update_from_4.6.md) [→ Headless v5.0.latest](update_to_5.0.md) +- Headless v5.0.x [→ Headless v5.0.latest](update_from_5.0.md) [→ Commerce v5.0.latest](#) +- Headless v4.6.x → Headless v4.6.latest → Headless v5.0.latest → Commerce v5.0.latest + +## Upgrade product edition + +TODO: Isn't it the main topic of this page? + +Before starting, ensure you have the latest version of your current edition. + +TODO: + +```bash +composer require ibexa/commerce:[[= latest_tag_5_0 =]] +php bin/console ibexa:doctrine:migrations:migrate +``` + +TODO: Config? diff --git a/docs/update_and_migration/from_4.6/update_from_4.6.md b/docs/update_and_migration/from_4.6/update_from_4.6.md index 368e2ba189..7d69c8c3e8 100644 --- a/docs/update_and_migration/from_4.6/update_from_4.6.md +++ b/docs/update_and_migration/from_4.6/update_from_4.6.md @@ -738,7 +738,7 @@ No additional steps needed. ### Database update -v4.6.3X introduces Ibexa Doctrine Migrations to manage database schema changes. +v4.6.3X introduces [Ibexa Doctrine Migrations](doctrine_migrations.md) to manage database schema changes. It replaces the previous usage of SQL files (like vendor/ibexa/installer/upgrade/db//ibexa-x.y.a-to-x.y.b.sql). Run the following to run a basic schema check and store the database status. diff --git a/docs/update_and_migration/from_4.6/update_to_5.0.md b/docs/update_and_migration/from_4.6/update_to_5.0.md index 9217395f37..f96845875f 100644 --- a/docs/update_and_migration/from_4.6/update_to_5.0.md +++ b/docs/update_and_migration/from_4.6/update_to_5.0.md @@ -14,9 +14,9 @@ Before you update to v5.0, you need to [update to the latest maintenance release If you've chosen to use the [deprecated Commerce packages](update_from_4.3_old_commerce.md) during the update to 4.4, you have to move to [new Commerce ones](update_from_4.3_new_commerce.md). -## Update from v4.6.latest to v5.0.0 +## Update from v4.6.latest to v5.0.latest -When you have the last version of 4.6, you can update to v5.0.0. +When you have the last version of 4.6, you can update to last version of 5.0 (v[[= latest_tag_5_0 =]]). ### Requirements @@ -110,7 +110,7 @@ rm -r config/graphql #### Update package requirements -[[= product_name =]] 5.0 is based on Symfony 7.3 and both must be updated. +[[= product_name =]] 5.0 is based on Symfony 7.4 (since v5.0.7) and both must be updated. Your development packages must be updated as well. The example below assumes that [`symfony/debug-pack`](https://symfony.com/packages/debug-pack) and `ibexa/rector` are installed. Adjust the list based on your project requirements. @@ -122,22 +122,22 @@ Notice the use of the `--no-update` option to only edit the `composer.json` entr # Update required PHP version composer require --no-update 'php:>=8.3'; # Update required Symfony version - composer config extra.symfony.require '7.3.*' + composer config extra.symfony.require '7.4.*' # Upgrade Ibexa and Symfony packages: application composer require --no-update \ ibexa/headless:[[= latest_tag_5_0 =]] \ - symfony/console:^7.3 \ - symfony/dotenv:^7.3 \ - symfony/framework-bundle:^7.3 \ - symfony/runtime:^7.3 \ - symfony/yaml:^7.3 \ + symfony/console:^7.4 \ + symfony/dotenv:^7.4 \ + symfony/framework-bundle:^7.4 \ + symfony/runtime:^7.4 \ + symfony/yaml:^7.4 \ ; # Upgrade Ibexa and Symfony packages: development tools composer require --dev --no-update \ ibexa/rector:[[= latest_tag_5_0 =]] \ - symfony/debug-bundle:^7.3 \ - symfony/stopwatch:^7.3 \ - symfony/web-profiler-bundle:^7.3 \ + symfony/debug-bundle:^7.4 \ + symfony/stopwatch:^7.4 \ + symfony/web-profiler-bundle:^7.4 \ ; ``` @@ -147,22 +147,22 @@ Notice the use of the `--no-update` option to only edit the `composer.json` entr # Update required PHP version composer require --no-update 'php:>=8.3'; # Update required Symfony version - composer config extra.symfony.require '7.3.*' + composer config extra.symfony.require '7.4.*' # Upgrade Ibexa and Symfony packages: application composer require --no-update \ ibexa/experience:[[= latest_tag_5_0 =]] \ - symfony/console:^7.3 \ - symfony/dotenv:^7.3 \ - symfony/framework-bundle:^7.3 \ - symfony/runtime:^7.3 \ - symfony/yaml:^7.3 \ + symfony/console:^7.4 \ + symfony/dotenv:^7.4 \ + symfony/framework-bundle:^7.4 \ + symfony/runtime:^7.4 \ + symfony/yaml:^7.4 \ ; # Upgrade Ibexa and Symfony packages: development tools composer require --dev --no-update \ ibexa/rector:[[= latest_tag_5_0 =]] \ - symfony/debug-bundle:^7.3 \ - symfony/stopwatch:^7.3 \ - symfony/web-profiler-bundle:^7.3 \ + symfony/debug-bundle:^7.4 \ + symfony/stopwatch:^7.4 \ + symfony/web-profiler-bundle:^7.4 \ ; ``` @@ -172,22 +172,22 @@ Notice the use of the `--no-update` option to only edit the `composer.json` entr # Update required PHP version composer require --no-update 'php:>=8.3'; # Update required Symfony version - composer config extra.symfony.require '7.3.*' + composer config extra.symfony.require '7.4.*' # Upgrade Ibexa and Symfony packages: application composer require --no-update \ ibexa/commerce:[[= latest_tag_5_0 =]] \ - symfony/console:^7.3 \ - symfony/dotenv:^7.3 \ - symfony/framework-bundle:^7.3 \ - symfony/runtime:^7.3 \ - symfony/yaml:^7.3 \ + symfony/console:^7.4 \ + symfony/dotenv:^7.4 \ + symfony/framework-bundle:^7.4 \ + symfony/runtime:^7.4 \ + symfony/yaml:^7.4 \ ; # Upgrade Ibexa and Symfony packages: development tools composer require --dev --no-update \ ibexa/rector:[[= latest_tag_5_0 =]] \ - symfony/debug-bundle:^7.3 \ - symfony/stopwatch:^7.3 \ - symfony/web-profiler-bundle:^7.3 \ + symfony/debug-bundle:^7.4 \ + symfony/stopwatch:^7.4 \ + symfony/web-profiler-bundle:^7.4 \ ; ``` @@ -308,42 +308,18 @@ composer run-script post-update-cmd [[% include 'snippets/update/db/db_backup_warning.md' %]] -The main schema has changed and the provided SQL file `ibexa-4.6.latest-to-5.0.0.sql` updates it: +[Ibexa Doctrine Migrations](doctrine_migrations.md) manage the database schema update. +The following command will migrate from the 4.6's schema to 5.0's one: -=== "MySQL" - - ```bash - mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.6.latest-to-5.0.0.sql - ``` - -=== "PostgreSQL" - - ```bash - psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.6.latest-to-5.0.0.sql - ``` - -??? note "Ibexa Open Source" - - If you don't have access to [[= product_name =]]'s `ibexa/installer` package, apply the following database update: - - === "MySQL" - - ``` sql - [[= include_file('docs/update_and_migration/from_4.6/sql/ibexa_oss_4.6.latest-to-5.0.0_mysql.sql', glue=" ") =]] - ``` - - === "PostgreSQL" - - ``` sql - [[= include_file('docs/update_and_migration/from_4.6/sql/ibexa_oss_4.6.latest-to-5.0.0_postgresql.sql', glue=" ") =]] - ``` +```bash +php bin/console ibexa:doctrine:migrations:migrate +``` -As this script targets all editions, on editions lower than Commerce you may encounter errors about missing tables which can safely be ignored. +If you're using [multiple repositories](repository_configuration.md#defining-custom-connection), run the command with option `--siteaccess=` for each repository with a SiteAccess using it. -Many tables and columns are renamed. +Many tables and columns are renamed between 4.6 and 5.0. If you have custom code directly querying those, you will need to update them. - -You can track the renaming in the `ibexa-4.6.latest-to-5.0.0.sql` file or below. +You can track the renaming below. ??? note "Tables and columns renaming map" @@ -1109,5 +1085,6 @@ composer ibexa:setup --platformsh #### Conclusion -Your project is now running the latest major version of [[= product_name =]]. -To reach the last patch version, see [Update from v5.0.x to v5.0.latest](update_from_5.0.md) +Your packages and database are now update to date. + +TODO: Look in [Update from v5.0.x to v5.0.latest](update_from_5.0.md) for configuration updates, PHP API usage modifications, and every change between v5.0.0 and v[[= latest_tag_5_0 =]] that isn't related to database. From 11d4b9662cd466cdfacf3dd0860f144d1209cbb9 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 4 Aug 2026 09:53:57 +0200 Subject: [PATCH 03/11] update_to_4.6.md: Ibexa Doctrine Migrations (future) --- .../from_4.6/update_from_4.6.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/update_and_migration/from_4.6/update_from_4.6.md b/docs/update_and_migration/from_4.6/update_from_4.6.md index 7d69c8c3e8..3298b6c0fd 100644 --- a/docs/update_and_migration/from_4.6/update_from_4.6.md +++ b/docs/update_and_migration/from_4.6/update_from_4.6.md @@ -753,6 +753,19 @@ php bin/console ibexa:doctrine:migrations:migrate It tests the presence of key elements to determine if a previous change has been applied or not. If, in the past, you had incomplete schema upgrades, Ibexa Doctring Migrations command can be misled into considering a change as fully applied while it's only partially applied. +## v4.6.(3X+N) + +TODO: Shouldn't `post-update-cmd` be used? +TODO: If there is missing new config, `php bin/console`might not run. + +### TODO: Add config for new feature, anything needed to have the console running again + +### Database update + +```bash +php bin/console ibexa:doctrine:migrations:migrate +``` + ## LTS Updates [LTS Updates](https://doc.ibexa.co/en/4.6/ibexa_products/editions/#lts-updates) are standalone packages with their own update procedures. From d0e769fb46e19ea80ffebe14f3450738b5a84e6c Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 4 Aug 2026 10:11:16 +0200 Subject: [PATCH 04/11] =?UTF-8?q?doctrine=5Fmigrations.md=20=E2=86=92=20ed?= =?UTF-8?q?ition=5Fupgrade.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...{doctrine_migrations.md => edition_upgrade.md} | 15 ++++++++------- .../from_4.6/update_from_4.6.md | 2 +- .../from_4.6/update_to_5.0.md | 2 +- mkdocs.yml | 1 + 4 files changed, 11 insertions(+), 9 deletions(-) rename docs/update_and_migration/{doctrine_migrations.md => edition_upgrade.md} (65%) diff --git a/docs/update_and_migration/doctrine_migrations.md b/docs/update_and_migration/edition_upgrade.md similarity index 65% rename from docs/update_and_migration/doctrine_migrations.md rename to docs/update_and_migration/edition_upgrade.md index 170086e4f8..d28e6cf8e6 100644 --- a/docs/update_and_migration/doctrine_migrations.md +++ b/docs/update_and_migration/edition_upgrade.md @@ -1,9 +1,11 @@ --- -description: Update your installation's database schema. +description: Upgrade your edition. month_change: true --- -# Ibexa Doctrine Migrations +# Edition upgrade + +## Ibexa Doctrine Migrations Ibexa Doctrine Migrations is a tool to update your installation's database schema introduced in v6.0.0, v5.0.Y, and v4.6.3X for all editions. It helps when moving to the latest patch version, it also helps when moving to a upper major version or to an upper edition of the product. @@ -15,18 +17,17 @@ TODO: For example: - Headless v4.6.x [→ Headless v4.6.latest](update_from_4.6.md) [→ Headless v5.0.latest](update_to_5.0.md) - Headless v5.0.x [→ Headless v5.0.latest](update_from_5.0.md) [→ Commerce v5.0.latest](#) -- Headless v4.6.x → Headless v4.6.latest → Headless v5.0.latest → Commerce v5.0.latest - -## Upgrade product edition +- Headless v4.6.x [→ Headless v4.6.latest](update_from_4.6.md) [→ Headless v5.0.latest](update_to_5.0.md) [→ Commerce v5.0.latest](#upgrade-edition) -TODO: Isn't it the main topic of this page? +## Upgrade edition -Before starting, ensure you have the latest version of your current edition. +Before starting upgrading your [[= product_name =]] edition, ensure you have the latest version of your current edition, [update if needed](update_ibexa_dxp.md). TODO: ```bash composer require ibexa/commerce:[[= latest_tag_5_0 =]] +#TODO: do what's needed to have console working, like updating config. php bin/console ibexa:doctrine:migrations:migrate ``` diff --git a/docs/update_and_migration/from_4.6/update_from_4.6.md b/docs/update_and_migration/from_4.6/update_from_4.6.md index 3298b6c0fd..cfc74d05f3 100644 --- a/docs/update_and_migration/from_4.6/update_from_4.6.md +++ b/docs/update_and_migration/from_4.6/update_from_4.6.md @@ -738,7 +738,7 @@ No additional steps needed. ### Database update -v4.6.3X introduces [Ibexa Doctrine Migrations](doctrine_migrations.md) to manage database schema changes. +v4.6.3X introduces [Ibexa Doctrine Migrations](edition_upgrade.md#ibexa-doctrine-migrations) to manage database schema changes. It replaces the previous usage of SQL files (like vendor/ibexa/installer/upgrade/db//ibexa-x.y.a-to-x.y.b.sql). Run the following to run a basic schema check and store the database status. diff --git a/docs/update_and_migration/from_4.6/update_to_5.0.md b/docs/update_and_migration/from_4.6/update_to_5.0.md index f96845875f..a4cc6b7fc3 100644 --- a/docs/update_and_migration/from_4.6/update_to_5.0.md +++ b/docs/update_and_migration/from_4.6/update_to_5.0.md @@ -308,7 +308,7 @@ composer run-script post-update-cmd [[% include 'snippets/update/db/db_backup_warning.md' %]] -[Ibexa Doctrine Migrations](doctrine_migrations.md) manage the database schema update. +[Ibexa Doctrine Migrations](edition_upgrade.md#ibexa-doctrine-migrations) manage the database schema update. The following command will migrate from the 4.6's schema to 5.0's one: ```bash diff --git a/mkdocs.yml b/mkdocs.yml index 3b40901152..56b9bc6180 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -931,6 +931,7 @@ nav: - Migrate from eZ Publish Platform: update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md - Migrate from eZ Publish: update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish.md - Common migration issues: update_and_migration/migrate_to_ibexa_dxp/common_issues.md + - Edition upgrade: edition_upgrade.md - Resources: - Resources: resources/resources.md - Release process and roadmap: resources/release_process_and_roadmap.md From adfe96467c91f0709fa5c369847137e3392abcf8 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 4 Aug 2026 10:18:02 +0200 Subject: [PATCH 05/11] edition_upgrade.md: Fix empty link --- docs/update_and_migration/edition_upgrade.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/update_and_migration/edition_upgrade.md b/docs/update_and_migration/edition_upgrade.md index d28e6cf8e6..3584ff78e9 100644 --- a/docs/update_and_migration/edition_upgrade.md +++ b/docs/update_and_migration/edition_upgrade.md @@ -16,7 +16,7 @@ Before changing your major version or your edition, move to the latest patch ver TODO: For example: - Headless v4.6.x [→ Headless v4.6.latest](update_from_4.6.md) [→ Headless v5.0.latest](update_to_5.0.md) -- Headless v5.0.x [→ Headless v5.0.latest](update_from_5.0.md) [→ Commerce v5.0.latest](#) +- Headless v5.0.x [→ Headless v5.0.latest](update_from_5.0.md) [→ Commerce v5.0.latest](#upgrade-edition) - Headless v4.6.x [→ Headless v4.6.latest](update_from_4.6.md) [→ Headless v5.0.latest](update_to_5.0.md) [→ Commerce v5.0.latest](#upgrade-edition) ## Upgrade edition From ca177d128d0a52f56cc328880e427726de86625a Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 4 Aug 2026 10:19:50 +0200 Subject: [PATCH 06/11] TODO --- docs/update_and_migration/from_4.6/update_from_4.6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/update_and_migration/from_4.6/update_from_4.6.md b/docs/update_and_migration/from_4.6/update_from_4.6.md index cfc74d05f3..b542112ff7 100644 --- a/docs/update_and_migration/from_4.6/update_from_4.6.md +++ b/docs/update_and_migration/from_4.6/update_from_4.6.md @@ -755,7 +755,7 @@ php bin/console ibexa:doctrine:migrations:migrate ## v4.6.(3X+N) -TODO: Shouldn't `post-update-cmd` be used? +TODO: Shouldn't `post-update-cmd` be used? There is `--no-scripts` option in `composer require` command, so it's always skipped. TODO: If there is missing new config, `php bin/console`might not run. ### TODO: Add config for new feature, anything needed to have the console running again From a81962a94bb8215cf1d01e354afd2696aa2e11a4 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 4 Aug 2026 10:23:26 +0200 Subject: [PATCH 07/11] mkdocs.yml: Fix path to edition_upgrade.md --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 56b9bc6180..f83b75437f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -931,7 +931,7 @@ nav: - Migrate from eZ Publish Platform: update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md - Migrate from eZ Publish: update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish.md - Common migration issues: update_and_migration/migrate_to_ibexa_dxp/common_issues.md - - Edition upgrade: edition_upgrade.md + - Edition upgrade: update_and_migration/edition_upgrade.md - Resources: - Resources: resources/resources.md - Release process and roadmap: resources/release_process_and_roadmap.md From 2f0dca6a40bb5dae814fd68dd80a830c5a5f10c5 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 4 Aug 2026 11:07:14 +0200 Subject: [PATCH 08/11] update_to_5.0.md: Remove strictBooleans strict-booleans rule set is removed in Rector 2.6 https://github.com/rectorphp/rector/releases/tag/2.6.0 --- docs/update_and_migration/from_4.6/update_to_5.0.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/update_and_migration/from_4.6/update_to_5.0.md b/docs/update_and_migration/from_4.6/update_to_5.0.md index a4cc6b7fc3..c570904d8d 100644 --- a/docs/update_and_migration/from_4.6/update_to_5.0.md +++ b/docs/update_and_migration/from_4.6/update_to_5.0.md @@ -480,7 +480,6 @@ return RectorConfig::configure() naming: true, // https://getrector.com/find-rule?activeRectorSetGroup=core&rectorSet=core-naming instanceOf: true, // https://getrector.com/find-rule?activeRectorSetGroup=core&rectorSet=core-instanceof earlyReturn: true, // https://getrector.com/find-rule?activeRectorSetGroup=core&rectorSet=core-early-return - strictBooleans: true, // https://getrector.com/find-rule?activeRectorSetGroup=core&rectorSet=core-strict-booleans rectorPreset: true, symfonyCodeQuality: true, // https://getrector.com/find-rule?activeRectorSetGroup=symfony&rectorSet=symfony-code-quality symfonyConfigs: true, // https://getrector.com/find-rule?activeRectorSetGroup=symfony&rectorSet=symfony-configs From 3155de05e337491beed89dc4d94fc599b35cc467 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 4 Aug 2026 11:44:32 +0200 Subject: [PATCH 09/11] update_to_5.0.md: SF 7.4 continue 1b4038a1529e94d621c2eec50c5da1a5b90bad10 --- docs/update_and_migration/from_4.6/update_to_5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/update_and_migration/from_4.6/update_to_5.0.md b/docs/update_and_migration/from_4.6/update_to_5.0.md index ed03ba0d6c..bf4e3270be 100644 --- a/docs/update_and_migration/from_4.6/update_to_5.0.md +++ b/docs/update_and_migration/from_4.6/update_to_5.0.md @@ -463,6 +463,7 @@ return RectorConfig::configure() SymfonySetList::SYMFONY_71, // https://getrector.com/find-rule?activeRectorSetGroup=symfony&rectorSet=symfony-symfonysymfony-71 SymfonySetList::SYMFONY_72, // https://getrector.com/find-rule?activeRectorSetGroup=symfony&rectorSet=symfony-symfonysymfony-72 SymfonySetList::SYMFONY_73, // https://getrector.com/find-rule?activeRectorSetGroup=symfony&rectorSet=symfony-symfonysymfony-73 + SymfonySetList::SYMFONY_74, // https://getrector.com/find-rule?activeRectorSetGroup=symfony&rectorSet=symfony-symfonysymfony-74 SymfonySetList::ANNOTATIONS_TO_ATTRIBUTES, ] ) From 3d7d890348d4139f3b286dc4bb3bcf5ac339cbbb Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 4 Aug 2026 14:59:11 +0200 Subject: [PATCH 10/11] TODO: add-ons that might use Doctrine Migrations --- docs/commerce/shopping_list/install_shopping_list.md | 2 ++ docs/users/oauth_server.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/commerce/shopping_list/install_shopping_list.md b/docs/commerce/shopping_list/install_shopping_list.md index 1c5d0829ca..dd289d1710 100644 --- a/docs/commerce/shopping_list/install_shopping_list.md +++ b/docs/commerce/shopping_list/install_shopping_list.md @@ -40,6 +40,8 @@ ibexa.rest.shopping_list: Add the tables needed by the bundle: +TODO: Ibexa Doctrine Migrations + === "MySQL" ```sql diff --git a/docs/users/oauth_server.md b/docs/users/oauth_server.md index d61f152fc3..12650e9aeb 100644 --- a/docs/users/oauth_server.md +++ b/docs/users/oauth_server.md @@ -20,6 +20,8 @@ composer require ibexa/oauth2-server --with-all-dependencies Add the tables needed by the bundle: +TODO: Ibexa Doctrine Migrations + === "MySQL" ```bash From 456d19e028db1fd9f7ae5b9217578ee714788013 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 4 Aug 2026 15:23:26 +0200 Subject: [PATCH 11/11] Rm edition_upgrade.md (kept for after 6.0 release) --- docs/update_and_migration/edition_upgrade.md | 34 ------------------- .../from_4.6/update_from_4.6.md | 7 ++-- .../from_4.6/update_to_5.0.md | 2 +- 3 files changed, 4 insertions(+), 39 deletions(-) delete mode 100644 docs/update_and_migration/edition_upgrade.md diff --git a/docs/update_and_migration/edition_upgrade.md b/docs/update_and_migration/edition_upgrade.md deleted file mode 100644 index 3584ff78e9..0000000000 --- a/docs/update_and_migration/edition_upgrade.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -description: Upgrade your edition. -month_change: true ---- - -# Edition upgrade - -## Ibexa Doctrine Migrations - -Ibexa Doctrine Migrations is a tool to update your installation's database schema introduced in v6.0.0, v5.0.Y, and v4.6.3X for all editions. -It helps when moving to the latest patch version, it also helps when moving to a upper major version or to an upper edition of the product. - -To be able to take advantage of Ibexa Doctrine Migrations, you need to be on a version including it. -Before changing your major version or your edition, move to the latest patch version of your current major version and edition. - -TODO: For example: - -- Headless v4.6.x [→ Headless v4.6.latest](update_from_4.6.md) [→ Headless v5.0.latest](update_to_5.0.md) -- Headless v5.0.x [→ Headless v5.0.latest](update_from_5.0.md) [→ Commerce v5.0.latest](#upgrade-edition) -- Headless v4.6.x [→ Headless v4.6.latest](update_from_4.6.md) [→ Headless v5.0.latest](update_to_5.0.md) [→ Commerce v5.0.latest](#upgrade-edition) - -## Upgrade edition - -Before starting upgrading your [[= product_name =]] edition, ensure you have the latest version of your current edition, [update if needed](update_ibexa_dxp.md). - -TODO: - -```bash -composer require ibexa/commerce:[[= latest_tag_5_0 =]] -#TODO: do what's needed to have console working, like updating config. -php bin/console ibexa:doctrine:migrations:migrate -``` - -TODO: Config? diff --git a/docs/update_and_migration/from_4.6/update_from_4.6.md b/docs/update_and_migration/from_4.6/update_from_4.6.md index b542112ff7..19f1722b79 100644 --- a/docs/update_and_migration/from_4.6/update_from_4.6.md +++ b/docs/update_and_migration/from_4.6/update_from_4.6.md @@ -738,7 +738,7 @@ No additional steps needed. ### Database update -v4.6.3X introduces [Ibexa Doctrine Migrations](edition_upgrade.md#ibexa-doctrine-migrations) to manage database schema changes. +v4.6.3X introduces Ibexa Doctrine Migrations to manage database schema changes. It replaces the previous usage of SQL files (like vendor/ibexa/installer/upgrade/db//ibexa-x.y.a-to-x.y.b.sql). Run the following to run a basic schema check and store the database status. @@ -755,13 +755,12 @@ php bin/console ibexa:doctrine:migrations:migrate ## v4.6.(3X+N) -TODO: Shouldn't `post-update-cmd` be used? There is `--no-scripts` option in `composer require` command, so it's always skipped. -TODO: If there is missing new config, `php bin/console`might not run. - ### TODO: Add config for new feature, anything needed to have the console running again ### Database update +Run Ibexa Doctrine Migrations through the following command: + ```bash php bin/console ibexa:doctrine:migrations:migrate ``` diff --git a/docs/update_and_migration/from_4.6/update_to_5.0.md b/docs/update_and_migration/from_4.6/update_to_5.0.md index bf4e3270be..b8c754d61c 100644 --- a/docs/update_and_migration/from_4.6/update_to_5.0.md +++ b/docs/update_and_migration/from_4.6/update_to_5.0.md @@ -308,7 +308,7 @@ composer run-script post-update-cmd [[% include 'snippets/update/db/db_backup_warning.md' %]] -[Ibexa Doctrine Migrations](edition_upgrade.md#ibexa-doctrine-migrations) manage the database schema update. +Ibexa Doctrine Migrations manage the database schema updates. The following command will migrate from the 4.6's schema to 5.0's one: ```bash