Я пытаюсь настроить Doctrine Migrations как автономную программу, и у меня немного проблемы.
У меня есть doctrine-migrations.phar и migrations.yml в той же папке.
migrations.yml содержит следующее:
name: Doctrine Sandbox Migrations migrations_namespace: DoctrineMigrations table_name: doctrine_migration_versions migrations_directory: /home/myusername/myproject/Database/Update
Внутри / home / myusername / myproject / Database / Update У меня есть файл с именем Version20130608161001.php, который содержит следующее:
namespace DoctrineMigrations; use Doctrine\DBAL\Migrations\AbstractMigration; use Doctrine\DBAL\Schema\Schema; class Version20130608161001 extends AbstractMigration { public function up(Schema $schema) { echo "Test"; } public function down(Schema $schema) { } }
Когда я запускаю команду:
php doctrine-migrations.phar -v :migrate
Появляется следующее сообщение об ошибке:
[InvalidArgumentException] There are no commands defined in the "" namespace. Exception trace: () at phar:///home/myusername/Desktop/Doctrine/doctrine-migrations.phar/Symfony/Component/Console/Application.php:441 Symfony\Component\Console\Application->findNamespace() at phar:///home/myusername/Desktop/Doctrine/doctrine- migrations.phar/Symfony/Component/Console/Application.php:468 Symfony\Component\Console\Application->findCommand() at phar:///home/myusername/Desktop/Doctrine/doctrine-migrations.phar/Symfony/Component/Console/Application.php:184 Symfony\Component\Console\Application->doRun() at phar:///home/myusername/Desktop/Doctrine/doctrine-migrations.phar/Symfony/Component/Console/Application.php:113 Symfony\Component\Console\Application->run() at /home/myusername/Desktop/Doctrine/doctrine-migrations.phar:59
Просто такая же проблема …
Вы можете выполнить команду следующим образом:
./doctrine-migrations migrations:migrate
Вы можете изменить свой composer.json следующим образом:
{ "require": { "doctrine/doctrine-migrations-bundle": "dev-master" } }
И затем обновите: * Убедитесь, что у вас есть последняя стабильная версия SF в composer.json, в этот момент 3.3.0
composer update
Наконец, обязательно включите пакет в AppKernel.php:
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),