Skip to content

Data migration

You can use migrations in projects that require the same data to be present across multiple instances. They can be useful for project templates. Migrations are able to store shared data, so they can be applied for each new project you start, or incrementally upgrade older projects to your new standard, if needed. They are a developer-friendly tool that allows you to share data without writing code.

You can migrate your Repository data, that is Content items, as well as Content Types, languages, Object states, Sections, and so on, between installations by using the migration command.

Public PHP API

You can also manage data migrations with the PHP API, see Managing migrations.

Do not enable EzMigrationBundle2

If you are migrating your data either with kaliop-uk/ezmigrationbundle or ezsystems/ezmigrationbundle, do not install the tanoconsulting/ezmigrationbundle2 package, or your application will stop working due to multiple duplicated classes.

As of v3.3.3, the ezmigrationbundle package has been removed to mitigate this issue. It is recommended that you use the default ibexa/migrations package to migrate your data.

Examples of using migration

You can find examples of using migrations in Migration file content, and in your project's vendor/ibexa/migrations/tests/bundle/Command/MigrateCommand/migrate-command-fixtures folder.