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
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