|
|
|
This is a bundle for Ibexa DXP. It automatically creates migrations for content types and content type groups.
The goal is to eliminate the need to manually create migrations or test them – instead have Ibexa auto-generate them for us whenever content types change.
Migrations are created in the default locations (in src/Migrations/Ibexa/migrations when using ibexa/migrations or in src/MigrationsDefinitions when using kaliop, tanoconsulting, mrk-te open source migration bundle).
- Ibexa DXP >= v5.0
- Ibexa DXP >= v4.4 (untested)
- A migrations bundle if using Ibexa OSS
- Automatically create migrations when changes are made in the admin panel
- Supports Ibexa DXP v5.x Headless, Experience and Commerce editions via
ibexa/migrations - Supports Ibexa DXP v5.x. Open Source Edition via
mrk-te/ibexa-migration-bundle2
- Content Type Group
- Content Type
- Language
- Object State Group
- Object State
- Role
- Section
- URL Wildcards
- URL Manager
composer require vardumper/ibexa-automatic-migrations-bundle:dev-mainRemember not to activate this bundle for all environments, usually your development environment is where you want to configure things and have these changes applied elsewehere by executing migrations.
return [
// ...
vardumper\IbexaAutomaticMigrationsBundle\IbexaAutomaticMigrationsBundle::class => ['dev' => true],
];Register the backend controller. Create a file called config/routes/dev/ibexa_automatic_migrations.yaml with this content:
ibexa_automatic_migrations:
resource: '@IbexaAutomaticMigrationsBundle/src/Controller/'
type: attributeThis bundle uses Pest for testing.
First, install the development dependencies:
composer install --devThen run the tests:
./vendor/bin/pesttests/Feature/DeleteMigrationTest.php- Tests the delete migration generation functionalitytests/Feature/ContentTypeListenerTest.php- Unit tests for the ContentTypeListener class
- Display Migrations and their status in the amdin panel (for admin users only)
- Allow admins to execute pending migrations in the admin panel
- Support more types of migrations, not only content types are relevant, but Languages, Sections, etc.
- Allow the user to select (via admin panel and/or configuration file) which data points migrations are created for