0

だから私は私のantビルドファイルにこのターゲットを持っています:

<target name="migrate" description="Migrate the database">
    <exec executable="${basedir}/vendor/bin/doctrine-module" failonerror="true">
        <arg line="migrations:migrate"/>
    </exec>
</target>

doctrinemigrateコマンドは質問をして実行する前にyesまたはnoの答えを期待しています。だから私のビルドは失敗します:

richard@richard-desktop:~/projects/myproject$ ant migrate
Buildfile: /home/richard/projects/myproject/build.xml

migrate:
     [exec]                                                            
     [exec]                     Doctrine Migrations                    
     [exec]                                                            
     [exec] 
     [exec] 
     [exec] 
     [exec]                       
     [exec]   [RuntimeException]  
     [exec]   Aborted             
     [exec]                       
     [exec] 
     [exec] 
     [exec] migrations:migrate [--write-sql] [--dry-run] [--configuration[="..."]] [--db-configuration[="..."]] [version]
     [exec] 
     [exec] 
     [exec] 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)

BUILD FAILED
/home/richard/projects/myproject/build.xml:42: exec returned: 1

Total time: 0 seconds
richard@richard-desktop:~/projects/myproject$ 

antにその質問に自動的に「はい」と答えさせて、移行を実行するにはどうすればよいですか?

4

1 に答える 1

2

それは実際には非常に簡単でした:

<target name="migrate" description="Migrate the database">
    <exec executable="${basedir}/vendor/bin/doctrine-module" failonerror="true">
        <arg line="migrations:migrate --no-interaction"/>
    </exec>
</target>
于 2012-10-02T17:54:32.660 に答える