I am trying to setup doctrine migrations on top of silex framework. I installed it through composer.
"doctrine/dbal": "2.3.*",
"doctrine/migrations": "dev-master",
My console file:
...
$app['composer_loader']->add('Doctrine\DBAL\Migrations', __DIR__.'/../vendor/doctrine/migrations/lib/');
$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
"db" => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($app['db']),
"dialog" => new \Symfony\Component\Console\Helper\DialogHelper(),
));
$console->setHelperSet($helperSet);
$console->addCommands(array(
// Migrations Commands
new \Doctrine\DBAL\Migrations\Tools\Console\Command\DiffCommand(),
new \Doctrine\DBAL\Migrations\Tools\Console\Command\ExecuteCommand(),
new \Doctrine\DBAL\Migrations\Tools\Console\Command\GenerateCommand(),
new \Doctrine\DBAL\Migrations\Tools\Console\Command\MigrateCommand(),
new \Doctrine\DBAL\Migrations\Tools\Console\Command\StatusCommand(),
new \Doctrine\DBAL\Migrations\Tools\Console\Command\VersionCommand()
));
$console->run();
However when I run migrations:status It outputs:
C:\htdocs\bitvenda\app>php console.php migrations:status
[Doctrine\DBAL\Migrations\MigrationException]
Migrations namespace must be configured in order to use Doctrine migrations
.
What I am doing wrong?
As @medina commented. I missed the configuration file. I created the yml config file as below:
name: Doctrine Migrations
migrations_namespace: DoctrineMigrations
table_name: doctrine_migration_versions
migrations_directory: /data/DoctrineMigrations
And I passed the configuration file path as argument to get it working.
php console.php migrations:status --configuration=config/migrations.yml
To avoid passing it all the time, I changed working script dir to the same dir as the configuration file so that doctrine migrations loads it automatically
chdir(__DIR__.'/config');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With