內執行命令一起對於發展,我們有,爲了重建分貝執行其他控制檯命令的單個Symfony的控制檯命令,運行夾具等無法運行兩種遷移一個控制檯命令
作爲該過程的一部分,我需要運行一些櫻桃選擇的學說遷移命令,但由於某種原因,我無法在同一個進程中運行多個執行命令。
爲了確認,我可以在沒有手動問題的情況下運行這些任務,並且可以在控制檯執行中運行其中一個命令,然後手動運行另一個命令而不發生問題。
$this->getApplication()->run(new ArrayInput(array(
'command' => 'doctrine:migrations:execute',
'version' => '20140310162336',
'--no-interaction' => true
)), $output);
$this->getApplication()->run(new ArrayInput(array(
'command' => 'doctrine:migrations:execute',
'version' => '20140310170437',
'--no-interaction' => true
)), $output);
返回的錯誤是:
[Doctrine\DBAL\Migrations\MigrationException]
Migration version 20140310162334 already registered with class Doctrine\DBAL\Migrations\Version
版本是第一個存在的版本的文件,可以確認一個不在migration_versions表,也不是在這種情況下想要的。建議將它加載到遷移對象中。
任何人都可以提供輸入,如果我做錯了,如果這可能是一個錯誤的地方。
使用dev-master運行Symfony 2.2。*和遷移軟件包。
我會調查隊列,看看這是否是一個選項。我目前的解決這個問題的思想過程是使用php exec,但這只是感覺錯誤,並非Symfony做事的方式。 – MadManMonty