0

所以我在我的 ant 构建文件中有这个目标:

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

教义迁移命令在运行之前提出一个问题并期待是或否的答案。所以我的构建失败了:

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 回答