Migrating content types and other database between environments is a common task. For example, if you develop a feature that requires changed to a content type in development environment and want to transfer it to staging and then on to production. You can do this manually by clicking using the interface, but it’s not feasible for larger project. And a chore at best.
eZ Platform itself (as of November 2017) does not come with a built in solution for content migrations. Instead you can use a third party Content Migration Bundle from Kaliop. This bundle allows exporting content types (and users, roles, policies, media…) into files that you can store in your version repository and workflow. Learn more on the introduction to eZ Migrations Bundle article.
For example, with Gitflow you could store the migration in your feature branch. The most common format used for content migrations is YAML, which is specified in documentation. In addition to YAML format, you can use free format PHP and SQL migrations as well.
This thread is open for tips on how to use migrations with eZ Platform.