如何在没有交互的情况下运行doctrine 2迁移命令行?

时间:2010-08-10 11:28:26

标签: php unit-testing zend-framework doctrine phpunit

如何在没有交互的情况下运行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);

2 个答案:

答案 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);
?>