shopsys/migrations

Symfony bundle providing commands for transactional Doctrine database migrations

Installs: 149 268

Dependents: 17

Suggesters: 0

Security: 0

Stars: 3

Watchers: 9

Forks: 1

v13.0.0 2023-10-11 20:08 UTC

This package is auto-updated.

Last update: 2024-04-26 06:38:43 UTC


README

Downloads

This bundle provides commands which can be useful for database migrations:

  • shopsys:migrations:check-mapping checks if ORM mapping is valid.
  • shopsys:migrations:check-schema checks if database schema is satisfying ORM.
  • shopsys:migrations:count returns count of migrations to execute.
  • shopsys:migrations:migrate executes all database migrations in one transaction.
    • the command supports installing migrations from multiple sources, so every bundle can have its own migrations
    • it creates a migration-lock.yml file in the project's root, persisting the order of execution
    • migrations can be manually reordered or skipped if necessary
  • shopsys:migrations:generate generates database migrations if the schema was changed
    • the command does not generate migrations that break backwards compatibility - eg. column dropping
    • prompts you to choose the location for migration file if you are developing more than one bundle

This bundle uses DoctrineMigrationsBundle, so you have to install both.

This repository is maintained by shopsys/shopsys monorepo, information about changes is in monorepo CHANGELOG.md.

To be able to use this bundle, you need to do following:

  1. Require shopsys/migrations in composer.json

  2. Register bundles in your AppKernel.php:

    new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
    new Shopsys\MigrationBundle\ShopsysMigrationBundle(),
    
  3. Configure DoctrineMigrationsBundle according to its documentation (see https://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html#configuration)

Contributing

Thank you for your contributions to Shopsys Migrations package. Together we are making Shopsys Platform better.

This repository is READ-ONLY. If you want to report issues and/or send pull requests, please use the main Shopsys repository.

Please, check our Contribution Guide before contributing.

Support

What to do when you are in troubles or need some help? The best way is to join our Slack.

If you want to report issues, please use the main Shopsys repository.