2010-08-10 12 views
7

Làm cách nào tôi có thể chạy một lệnh di trú học thuyết 2 mà không có sự tương tác?Làm cách nào tôi có thể chạy một dòng lệnh chuyển đổi học thuyết 2 mà không có sự tương tác?

Hiện tại tôi có lệnh sau chạy trên thiết lập Kiểm tra đơn vị của tôi. Nhưng nó luôn luôn nhắc nhở cho một/Không có người dùng đầu vào, ngay cả khi tôi sử dụng tùy chọn --no-tương tác.

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

Trả lời

19

Tôi chỉ cần stumbled trên bài viết của bạn, như tôi đã gặp vấn đề tương tự. Doctrine Migrations dường như được cập nhật trong khi đó (tôi đoán: https://github.com/doctrine/migrations/commit/5b2751f149bc38d38870578f753c2193eb36e742).

Do đó

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

hiện đang làm việc tốt.

+0

Tuyệt vời, cảm ơn bạn rất nhiều! Đó chính xác là những gì tôi đang tìm kiếm! – barbieswimcrew

7

tôi không thích Tom cách tiếp cận của mình và có một cách khác để có được điều này thực hiện:

<?php 
$input = new Symfony\Components\Console\Input\ArrayInput(
    array(
     'migrations:migrate', 
     '--configuration' => APPLICATION_PATH . '/../doctrine/migrations.xml', 
    ) 
); 
$input->setInteractive(false); 
?> 
Các vấn đề liên quan