Using Symfony 5.4, I have created a command to run several commands (just to refresh my app quickly), here is my code:
// @see https://symfony.com/doc/current/console/calling_commands.html
$commands = [
'doctrine:schema:drop' => [
'--force' => true,
],
'doctrine:schema:update' => [
'--force' => true,
],
'doctrine:fixtures:load' => [
'-n' => true,
'--group' => ['dev'],
],
'fos:elastica:populate' => []
];
foreach ($commands as $command => $arguments) {
$output->writeln([
'Execute command',
$command,
'========================',
'',
]);
$command = $this->getApplication()->find($command);
$command->run(new ArrayInput($arguments), $output);
}
It's working fine, except the command doctrine:fixtures:load is asking for:
Careful, database "store" will be purged. Do you want to continue? (yes/no)
I have to set y to continue.
Looking at the help of the command, it seems -n (or --no-interaction) is what I want, and indeed, launching:
bin/console doctrine:fixtures:load --group=dev -n
manualy works fine.
Why the $arguments are not working for this command ? Did I miss something ?
Try this :
to set Input interactivity to false.