Как я могу запустить командную строку миграции доктрины 2 без взаимодействия? - PullRequest
10 голосов
/ 10 августа 2010

Как я могу запустить команду миграции doctrine 2 без взаимодействия?

В настоящее время у меня есть следующая команда, которая запускается при настройке моих модульных тестов.Но он всегда запрашивает пользовательский ввод Да / Нет, даже когда я использую опцию --no-взаимодействия.

$input = new Symfony\Components\Console\Input\ArrayInput(
        array(
            'migrations:migrate',
            '--configuration' => APPLICATION_PATH . '/../doctrine/migrations.xml',
            '--no-interaction',
            )
        );
$cli->run($input);

Ответы [ 2 ]

27 голосов
/ 30 октября 2014

Я просто наткнулся на ваш пост, так как у меня была такая же проблема. Миграции Доктрины, кажется, обновлены тем временем (я думаю: https://github.com/doctrine/migrations/commit/5b2751f149bc38d38870578f753c2193eb36e742).

Следовательно

 php app/console --no-interaction doctrine:migrations:migrate

теперь отлично работает.

8 голосов
/ 26 апреля 2013

Мне не нравится Том, его подход, и есть другой способ сделать это:

<?php
$input = new Symfony\Components\Console\Input\ArrayInput(
    array(
        'migrations:migrate',
        '--configuration' => APPLICATION_PATH . '/../doctrine/migrations.xml',
    )
);
$input->setInteractive(false);
?>
...