Skip to content

Commit 2e55fde

Browse files
committed
update_to_5.0.md: Update from experiment with RC1
1 parent fd72362 commit 2e55fde

File tree

1 file changed

+80
-22
lines changed

1 file changed

+80
-22
lines changed

docs/update_and_migration/from_4.6/update_to_5.0.md

Lines changed: 80 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,12 @@ return RectorConfig::configure()
6363
php vendor/bin/rector --dry-run
6464
```
6565

66-
### TODO: Install all 4.6 LTS Updates? It could help with the DB schemas or configs…
67-
6866
### Move from annotation to attribute
6967

7068
Delete [`config/routes/annotations.yaml`](https://github.com/symfony/recipes/blob/main/doctrine/annotations/1.0/config/routes/annotations.yaml) if you haven't customised it.
7169

7270
If you have customized it, you have to move from `type: annotation` to `type: attribute`.
73-
TODO: Any help or recommendation to provide to the reader?
71+
TODO: Any help or recommendation to provide to the reader? Rector?
7472

7573
The `config/routes.yaml` file should start with the following declaration from [its recipe](https://github.com/symfony/recipes/blob/main/symfony/routing/7.0/config/routes.yaml):
7674

@@ -218,6 +216,8 @@ composer recipes:install symfony/webpack-encore-bundle --reset --force --yes
218216

219217
#### Sort commands
220218

219+
TODO: Is ibexa/ts-config-ibexa removal change this?
220+
221221
Recipe appends a command to `composer.json`'s `auto-scripts`.
222222
You have to manually resort the commands so the `tsconfig.json` file
223223
is created by `yarn ibexa-generate-tsconfig`
@@ -236,6 +236,10 @@ Your `auto-scripts` entry should look like this:
236236
},
237237
```
238238

239+
#### Remove Ibexa Icons
240+
241+
Remove from your `config/bundles.php` the line about `IbexaIconsBundle`.
242+
239243
#### Post update script
240244

241245
```bash
@@ -245,33 +249,21 @@ composer run-script post-update-cmd
245249

246250
### Update database
247251

248-
Apply the following database update script:
252+
The main schema has changed and the provided SQL file `ibexa-4.6.latest-to-5.0.0.sql` updates it:
249253

250254
=== "MySQL"
251255

252256
```bash
253257
mysql -u <username> -p <password> <database_name> < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.6.latest-to-5.0.0.sql
254-
# LTS Update related schemas to inject only if the add-on was never installed
255-
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/collaboration/src/bundle/Resources/config/schema.yaml | mysql -u <username> -p <password> <database_name>
256-
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/share/src/bundle/Resources/config/schema.yaml | mysql -u <username> -p <password> <database_name>
257-
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/connector-ai/src/bundle/Resources/config/schema.yaml | mysql -u <username> -p <password> <database_name>
258-
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/discounts/src/bundle/Resources/config/schema.yaml | ddev mysql -u <username> -p <password> <database_name>
259-
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/discounts-codes/src/bundle/Resources/config/schema.yaml | ddev mysql -u <username> -p <password> <database_name>
260258
```
261259

262260
=== "PostgreSQL"
263261

264262
```bash
265263
psql <database_name> < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.6.latest-to-5.0.0.sql
266-
# LTS Update related schemas to inject only if the add-on was never installed
267-
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/collaboration/src/bundle/Resources/config/schema.yaml | psql <database_name>
268-
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/share/src/bundle/Resources/config/schema.yaml | psql <database_name>
269-
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/connector-ai/src/bundle/Resources/config/schema.yaml | psql <database_name>
270-
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/discounts/src/bundle/Resources/config/schema.yaml | psql <database_name>
271-
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/discounts-codes/src/bundle/Resources/config/schema.yaml | psql <database_name>
272264
```
273265

274-
Many tables are renamed. Some columns are also renamed.
266+
Many tables and columns are renamed.
275267
If you have custom code directly querying those, you will need to update them.
276268

277269
You can track the renaming in the `ibexa-4.6.latest-to-5.0.0.sql` file or below.
@@ -379,23 +371,89 @@ You can track the renaming in the `ibexa-4.6.latest-to-5.0.0.sql` file or below.
379371

380372
TODO: Compatibility "views" layers? Even if there is this layer to save time, it is recommended to update your code to use the new tables.
381373

374+
### Install new features' schemas
375+
376+
Features which were optional 4.6 LTS Updates are now part of 5.0.0.
377+
378+
* If you have already installed the feature, its schema has been updated by the previous step.
379+
* If you haven't installed the feature, you need to add its schema to your database.
380+
* If you mistakenly reinstall a schema, no worries, you will encounter a "Table already exists" error which can be ignored.
381+
382+
#### Install AI actions schema
383+
384+
=== "MySQL"
385+
386+
```bash
387+
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/connector-ai/src/bundle/Resources/config/schema.yaml | mysql -u <username> -p <password> <database_name>
388+
```
389+
390+
=== "PostgreSQL"
391+
392+
```bash
393+
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/connector-ai/src/bundle/Resources/config/schema.yaml | psql <database_name>
394+
```
395+
396+
#### Install collaboration
397+
398+
TODO: collaboration will be out as a regular part of 5.0 before being released as a 4.6 LTS Update
399+
400+
=== "MySQL"
401+
402+
```bash
403+
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/collaboration/src/bundle/Resources/config/schema.yaml | mysql -u <username> -p <password> <database_name>
404+
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/share/src/bundle/Resources/config/schema.yaml | mysql -u <username> -p <password> <database_name>
405+
```
406+
407+
=== "PostgreSQL"
408+
409+
```bash
410+
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/collaboration/src/bundle/Resources/config/schema.yaml | psql <database_name>
411+
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/share/src/bundle/Resources/config/schema.yaml | psql <database_name>
412+
```
413+
414+
#### Install discounts [[% include 'snippets/commerce_badge.md' %]]
415+
416+
=== "MySQL"
417+
418+
```bash
419+
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/discounts/src/bundle/Resources/config/schema.yaml | mysql -u <username> -p <password> <database_name>
420+
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/discounts-codes/src/bundle/Resources/config/schema.yaml | mysql -u <username> -p <password> <database_name>
421+
```
422+
423+
=== "PostgreSQL"
424+
425+
```bash
426+
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/discounts/src/bundle/Resources/config/schema.yaml | psql <database_name>
427+
php bin/console ibexa:doctrine:schema:dump-sql vendor/ibexa/discounts-codes/src/bundle/Resources/config/schema.yaml | psql <database_name>
428+
```
429+
382430
### Clear cache pool
383431

384432
The persistence cache pool needs to be cleared to be able to use the repository again.
385433

386-
```
434+
```bash
387435
php bin/console cache:pool:clear --all
388436
```
389437

390-
TODO: Only Redis/Memcached?
438+
### Migrations
391439

392-
### Migration file(s)
440+
#### Taxonomy
393441

394-
TODO: Keep up to date
442+
```bash
443+
php bin/console ibexa:migrations:import vendor/ibexa/taxonomy/src/bundle/Resources/install/migrations/2025_08_09_14_47_mark_tag_as_container.yaml
444+
php bin/console ibexa:migrations:migrate --file=2025_08_09_14_47_mark_tag_as_container.yaml --siteaccess=admin
445+
```
395446

396-
On Experience or Commerce, the following migration file(s) must be applied.
447+
#### Product catalog
397448

449+
```bash
450+
php bin/console ibexa:migrations:import vendor/ibexa/product-catalog/src/bundle/Resources/migrations/2025_07_09_13_52_mark_product_category_container.yaml
451+
php bin/console ibexa:migrations:migrate --file=2025_07_09_13_52_mark_product_category_container.yaml --siteaccess=admin
398452
```
453+
454+
#### Corporate accounts [[% include 'snippets/experience_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]]
455+
456+
```bash
399457
php bin/console ibexa:migrations:import vendor/ibexa/corporate-account/src/bundle/Resources/migrations/2025_07_08_09_27_set_container_to_company.yaml
400458
php bin/console ibexa:migrations:migrate --file=2025_07_08_09_27_set_container_to_company.yaml --siteaccess=admin
401459
```

0 commit comments

Comments
 (0)