У меня есть установка с двумя разными подключениями к базе данных, что также означает двух разных менеджеров сущностей. Я пытаюсь создать команду CLI Symfony, которая вызывает команду 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);
}
Я попробовал почти все, что пришло мне в голову. Я не видел нигде написанного, что --no-interaction
не будет работать с командами, вызванными из другой команды. Каждый раз, когда я запускаю эту команду, я просто получаю следующее:
WARNING! You are about to execute a database migration that could result in schema changes
and data lost. Are you sure you wish to continue? (y/n)
Что тогда побуждает меня ответить. Есть идеи?