如何在没有交互的情况下运行doctrine 2迁移命令?
目前我有以下命令,它运行在我的单元测试的设置上。但它总是提示是/否用户输入,即使我使用--no-interaction选项。
$input = new Symfony\Components\Console\Input\ArrayInput(
array(
'migrations:migrate',
'--configuration' => APPLICATION_PATH . '/../doctrine/migrations.xml',
'--no-interaction',
)
);
$cli->run($input);
答案 0 :(得分:27)
我只是偶然发现了你的帖子,因为我遇到了同样的问题。 Doctrine Migrations似乎同时更新了(我想:https://github.com/doctrine/migrations/commit/5b2751f149bc38d38870578f753c2193eb36e742)。
因此
php app/console --no-interaction doctrine:migrations:migrate
现在工作正常。
答案 1 :(得分:8)
我不喜欢汤姆他的方法,还有另一种方法可以完成这项工作:
<?php
$input = new Symfony\Components\Console\Input\ArrayInput(
array(
'migrations:migrate',
'--configuration' => APPLICATION_PATH . '/../doctrine/migrations.xml',
)
);
$input->setInteractive(false);
?>