所以我在我的 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 自动回答"是",以便它运行迁移?
这实际上非常简单:
<target name="migrate" description="Migrate the database">
<exec executable="${basedir}/vendor/bin/doctrine-module" failonerror="true">
<arg line="migrations:migrate --no-interaction"/>
</exec>
</target>