2009-09-24 22 views
3

我試圖在Phing中設置一個mysql導入腳本,但是「<」導致了XML錯誤。有任何想法嗎?執行任務中的`<`字符正在破壞我的Phing構建腳本

<exec command="mysql -u${mysql.username} -p${mysql.password} -h ${mysql.server} ${mysql.database} < ${sql.file}" /> 

我期待在做dbDeploy這樣做,但它會是巨大的,如果有這個工作(單行命令與dbDeploy的多線設置)

回答

8

一個簡單的方法將字符替換爲&lt;

+2

這麼簡單。咄。謝謝。 – jmccartie 2009-09-24 23:46:07

3

我不熟悉Phing,但它可能不會在shell中執行該命令,因此重定向運算符將無法工作(它可能將操作符視爲參數到mysql本身)。

相反的< ${sql.file},嘗試-e 'source ${sql.file}',讓你的整個路線是:

<exec command="mysql -u${mysql.username} -p${mysql.password} -h ${mysql.server} ${mysql.database} -e 'source ${sql.file}'" /> 

MySQL batch mode documentation

+0

這太好了。我正在尋找這個語法,找不到它!非常感謝! – RandomWhiteTrash 2012-07-03 09:05:33