La implementación de Phing falla con la migration de la database

Estoy intentando usar Phing para implementar mi proyecto. Los scripts de Checkout from SVN y Running Composer funcionan muy bien, pero la migration de mi database no. Aquí está el post de error:

La ejecución de la "migration" de destino falló por la siguiente razón: Tarea que salió con el código 2
sh: no se puede abrir build / scripts / deploy-.sql: No such file

Parece que el file delta no es generado por Phing.

Mi script de Migration ve así:

 <target name="migration" description="Datenbankmigration"> <property file="${phing.dir}/includes/build.properties"/> <propertyprompt propertyName="db.name" defaultValue="${db.name}" promptText="Datenbankname angeben falls nicht der Defaultwert genutzt werden soll. Default:" /> <propertyprompt propertyName="db.username" defaultValue="${db.username}" promptText="Datenbankbenutzernamen angeben falls nicht der Defaultwert genutzt werden soll. Default:" /> <propertyprompt propertyName="db.password" defaultValue="" promptText="Datenbankpasswort angeben falls nicht der Defaultwert genutzt werden soll. Default:" /> <propertyprompt propertyName="db.host" defaultValue="${db.host}" promptText="Host angeben falls nicht der Defaultwert genutzt werden soll. Default:" /> <!-- load the dbdeploy task --> <taskdef name="dbdeploy" classname="phing.tasks.ext.dbdeploy.DbDeployTask" /> <!-- these two filenames will contain the generated SQL to do the deploy and roll it back --> <property name="build.dbdeploy.deployfile" value="${phing.dir}build/scripts/deploy-${DSTAMP}${TSTAMP}.sql" /> <property name="build.dbdeploy.undofile" value="${build.dir}build/scripts/undo-${DSTAMP}${TSTAMP}.sql" /> <!-- create the changelog Table --> <pdosqlexec url="mysql:host=${db.host};dbname=${db.name}" userid="${db.username}" password="${db.password}"> <transaction src="build/sql/changelog.sql"/> </pdosqlexec> <!-- generate the deployment scripts --> <dbdeploy url="mysql:host=${db.host};dbname=${db.name}" userid="${db.username}" password="${db.password}" dir="${phing.dir}/sql/delta" outputfile="${build.dbdeploy.deployfile}" undooutputfile="${build.dbdeploy.undofile}" /> <!-- execute the SQL - Use mysql command line to avoid trouble with large files or many statements and PDO --> <exec command="mysql -h${db.host} -u${db.username} -p${db.password} ${db.name} &lt; ${build.dbdeploy.deployfile}" dir="${phing.dir}" checkreturn="true" output="${phing.dir}/cache/deploy-${DSTAMP}${TSTAMP}.log" error="${phing.dir}/cache/deploy-error-${DSTAMP}${TSTAMP}.log" /> <echo msg="Datenbank erfolgreich angelegt"/> </target> 

¿Alguien tiene alguna idea de por qué?

En primer lugar, parece que olvidó la <tstamp /> en su destino para que ${TSTAMP} variables ${DSTAMP} y ${TSTAMP} .

Entonces deberías definir tus properties de esta manera:

 <property name="build.dbdeploy.deployfile" value="deploy-${DSTAMP}${TSTAMP}.sql" /> <property name="build.dbdeploy.undofile" value="undo-${DSTAMP}${TSTAMP}.sql" /> 

Deben colocarse automáticamente en el directory que especificó en el argumento dir .