Download the PHP package codito/doctrine-migrations-service-provider without Composer
On this page you can find all versions of the php package codito/doctrine-migrations-service-provider. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package doctrine-migrations-service-provider
Doctrine Migrations Service Provider
Provides Doctrine Migrations commands in Silex applications by extending console with additional commands. Those commands are wrappers for base Doctrine Migrations commands and for proper working require console application to be instance of console provided by Codito Console Service Provider, because commands need access to some services and/or config options to properly resolve migrations configuration.
Requirements
- PHP >= 5.4 because of traits and short array syntax.
Installation
Add entries to composer.json
:
Configuration
In order to use Doctrine Migrations commands in your console, you have to configure few things:
DoctrineServiceProvider
(one of Silex's default providers)ConsoleServiceProvider
from hereDoctrineOrmServiceProvider
from here, optionally (required only formigrations:diff
command)DoctrineMigrationsServiceProvider
itself
DoctrineMigrationsServiceProvider
supports configuration both for single and multiple connections/entity managers.
Example config
Register DoctrineServiceProvider
(can be also configured with db.options
, then it will be default
connection)
Register ConsoleServiceProvider
Register DoctrineMigrationsServiceProvider
:
Configuration of DoctrineMigrationsServiceProvider
is always under db.migrations.options
, regardless to single or multiple configs. Those configs are related to db.options
/dbs.options
and names must match in order to work correctly.
Optionally, if you need migrations:diff
command, you may want to register
If you want to use complex annotations, like @ORM\Entity
, you have to set use_simple_annotation_reader
to false
like above. However it requires to configure AnnotationRegistry
on your own, like:
It should be done in console
executable file.
Usage
Just run php bin/console
(or wherever you have console
) and commands list will appear. Each command has own help, to view it just type php bin/console some:command:from:your:commands:list --help
.
If you did everything properly, complete migration commands would look like:
Container aware migrations
Since v2.1
there is possibility to use migrations with auto-injected Pimple container (Silex app).
If you need cointainer inside migrations, just implement Codito\Silex\DoctrineMigrationsService\Migration\ContainerAwareMigration
interface or extend Codito\Silex\DoctrineMigrationsService\Migration\AbstractContainerAwareMigration
.
This is helpful if you have multiple connections and migration for one connection requires data from other connection or if some service must be called in order to execute migration.
Please notice
Depending on your config you have to (or don't) pass --db
/--em
param to command. --db
is used for most of commands, --em
is only for doctrine:migrations:diff
and it will automatically set --db
option based on connection
attribute in entity manager's config.
All versions of doctrine-migrations-service-provider with dependencies
codito/silex-console-provider Version ~0.1
doctrine/migrations Version ~1.0