Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,090 of 9,090 pages
About the help in other languages
All help pages

Migrations versus migrating a site

The word migration means two different jobs in the Exponential documentation - migrations (schema and content changes of one site, written as files and applied with exp:migration:migrate) and migrating a site (moving or…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/migrations/migrations-versus-migrating-a-site.md

On this page

Migrations versus migrating a site

The documentation uses the word migration for two different jobs. This page tells them apart and sends you to the right pages.

Migrations (schema and content changes)Migrating a site (moving or upgrading an installation)
What changesone site's database, content classes, content, roles or settings, a little at a timewhere a whole installation runs, which release it runs, or which system its content comes from
How oftenmany times, with every change the site's team makesonce per move, per upgrade or per import
Written asa PHP file YYYYMMDDHHMMSS_name.php in migrations/, under version controla plan, a checklist, and tools such as dumps, exports and the upgrade
Run with./console exp:migration:migrate --apply, or Setup > Migrations./console exp:upgrade, database dumps, package export and import, import tools
Recorded inthe tables exp_migration and exp_migration_run, and a status file in gitthe project's own notes; exp:upgrade records its steps
Applied toevery installation of the site: development, staging, productionthe one installation being moved, upgraded or filled
Start hereMigrationsMigrating to and from Exponential

Which one do you need?

You want to ...It isRead
add a table, a column or an index for your sitea migrationAdd a database table
add a content class or an attribute, on every installationa migrationCreate or change a content class
change or fix content on every installation the same waya migrationChange content in bulk, Fix data
give a role new policies on staging and productiona migrationAdd roles and policies
bring an installation to a new Exponential releasemigrating (an upgrade)Upgrading, Upgrading with the console
move a site to another server or hosting companymigrating a siteMoving a site between hosts
move a site to another database enginemigrating a siteMoving a site to another engine, Changing a customer site's database engine
bring a site over from WordPress, Drupal or another systemmigrating a siteMigrating to and from Exponential, From another system
bring a site over from eZ Platform or Ibexamigrating a siteFrom eZ Platform or Ibexa
upgrade from an older Exponential releasemigrating a siteFrom an older Exponential release
move layouts, settings and templates between sitesneither: the Layouts examplesMigrate examples

Where the two meet

  • After an upgrade, migrations take over. exp:upgrade brings an installation to a new release with the kernel's upgrade steps. Those steps are also listed among the migrations (as migrations of the source kernel), and a migration run applies the pending ones of the stages database and scripts before the site's own migrations (The steps among the migrations). A site migration that needs a step's table names it in requires:.
  • After a move or an import, migrations keep the copies alike. Once a migrated site runs on development, staging and production, every further change (a new class, a role, a fix) is a migration, so all three stay the same (Per-environment migrations).
  • A move of the database engine is not a migration. Migrations change a site on the engine it runs on; moving between engines is a dump and a load (Moving a site to another engine). The migrations themselves keep working on the new engine when they use $context->db() and the schema handlers (Engine notes).
  • Captions serve both. A migration run and exp:upgrade take the same kind of caption (a safe point) and share the installation lock, so an upgrade and a migration run never write at the same time (Captions and rollback in practice).

The pages of each family

Migrations (this section of the help): Migrations · the guide · the tutorial · the recipes · In the administration · FAQ

Migrating a site:

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x