小编Cos*_*ica的帖子

Symfony 命令 --no-interaction 不起作用

我有两个不同的数据库连接的设置,这也意味着两个不同的实体管理器。我正在尝试创建一个 Symfony CLI 命令,该doctrine:migrations:migrate命令使用--em,--configuration--no-interaction选项调用该命令。然而,尽管有--no-interaction$input->setInteractive(false),我仍然会收到确认提示。

看一下代码:

protected function execute(InputInterface $input, OutputInterface $output) {
    $input->setInteractive(false);

    // some other code here

    $command = $this->getApplication()->find('doctrine:migrations:migrate');
    $arguments = array(
        'command' => 'doctrine:migrations:migrate',
        'version' => $version,
        '--em' => $em,
        '--configuration' => self::CONFIG_FILES[$em],
        '--no-interaction' => true
    );

    $migrationInput = new ArrayInput($arguments);
    $command->run($migrationInput, $output);
}
Run Code Online (Sandbox Code Playgroud)

我几乎尝试了所有想到的东西。我看不到任何--no-interaction不能与从另一个命令调用的命令一起工作的地方。每次运行该命令时,我都会得到以下信息:

WARNING! You are about to execute a database migration that could result in schema changes 
    and data lost. …
Run Code Online (Sandbox Code Playgroud)

php symfony doctrine-orm

4
推荐指数
1
解决办法
1638
查看次数

标签 统计

doctrine-orm ×1

php ×1

symfony ×1