Skip to the content
Documentation

Recent changes

Recent ratings Recently added Recent comments Atom feed

9596 changed pages

Wednesday November 04 2026

  1. Add roles and policies Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    A migration that creates the role News editor with its policies, limits two of them to the class news_article, assigns it to the user group Editors found by remote id, and removes role, policies and assignment in down().

  2. Captions and rollback in practice Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    Walk through the ways back after a migration run - the automatic restore after a failure, rolling back a whole run, one migration with its down(), an earlier caption for experts - with the commands, their output and…

  3. Change content in bulk Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    A migration that walks every object of a class in batches, publishes a new version of each one that needs the change, commits per object, logs its progress and is safe to run again - the pattern for any change to many…

  4. Coming from Doctrine Migrations Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    For developers who know Doctrine Migrations from Symfony projects - every Doctrine command and class mapped to its Exponential 6 counterpart, what Exponential adds (captions, commit, tag and push, environments…

  5. Coming from the Kaliop migration bundle Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    For developers who used the Kaliop eZ Migration Bundle (ezmigrationbundle) on eZ Platform and Ibexa projects - its commands, files and table mapped to Exponential 6, and a YAML content, class and role step rewritten by…

  6. Coming from SQL update files Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    For teams that ship database changes as hand-written SQL files and update scripts - how one change becomes one PHP migration that knows every engine, is recorded, captioned and committed, with a worked example of an…

  7. Create or change a content class Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    A migration that creates the content class news_article with its attributes and class group, the same way on development, staging and production, and the pattern for changing a class (its name, its name pattern) in a…

  8. Deploying with migrations: CI/CD and GitHub Actions Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    Run migrations as part of every deploy - the order of the steps, a complete GitHub Actions workflow that checks pull requests and deploys over SSH, the exit codes a pipeline acts on, the installation lock, and runs…

  9. Migrations on MySQL, PostgreSQL, SQLite, Oracle and MongoDB Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    What each database engine means for a migration - transactions, the simulation, captions and the restore, schema changes that commit at once - and how to write one migration that works on MySQL/MariaDB, PostgreSQL…

  10. Fix data Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    A migration that corrects wrong rows - names with stray spaces, addresses over http - with a pure function that the plan, the run and a test share, escaped SQL through the run's connection, and the old values in the run…

  11. Large data migrations: batches, time limits and resume Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    Change thousands of objects or rows in one migration without running out of memory or locking the site - batches, transactional() returning false, an idempotent up(), pauses, maintenance mode, and resuming a run that…

  12. Migrations in an extension or package Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    Ship migrations inside an extension (extension/<name>/migrations/) or an installed package, generate them with --source=extension:<name>, and make a site's migrations wait for them with requires.

  13. Move or rename INI settings Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    A PHP migration that moves settings of an installation's override from site.ini to a file of their own and renames one on the way, keeps the value of each installation, writes the new file before it removes the old…

  14. Per-environment migrations: development, staging and production Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    Limit a migration to some environments with the header line environments, set the environment of each installation, and follow one change from development through staging to production.

  15. Commit, tag and push the record of a run Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    Set up the migrations repository so every run's status file and log are committed, tagged migrations/<environment>/<run-id> and pushed; choose between the site's own repository and a separate one, push what failed…

  16. Reviewing a migration in code review Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    A checklist for reviewing a migration in a pull request - the file and header, the order, plan(), up() and down(), engines and transactions, ids that differ between installations, personal data, and what the reviewer…

  17. Seed content for a new site Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    A migration that publishes the starting content of a site - a folder and its first articles - by remote id, only what is missing, in the language of the content root, so every new installation and every developer's copy…

  18. Team workflow with git: branches, conflicts and order Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    How several developers write migrations on branches without stepping on each other - timestamps and order, requires for real dependencies, two migrations with the same timestamp, rebasing, renaming only before a merge…

  19. Testing migrations: check, simulate, diff and CI Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    Four layers of tests for migrations - the lint without a database, the dry run, the simulation with a diff on PostgreSQL or SQLite, and a PHPUnit test on a throwaway SQLite database - and how to run them in CI.

  20. The audit trail of migration runs Updated Markdown page

    Markdown documentation (help center) · Migrations · Changed 01:08 pm

    Where a migration run leaves its traces - the tables exp_migration and exp_migration_run, the status file and the run log in git, var/log/migration.log and the audit events system.migration.* - and how to answer "what…