我正在尝试在 Phing 中设置一个 mysql 导入脚本,但“<”会导致 XML 错误。有任何想法吗?
<exec command="mysql -u${mysql.username} -p${mysql.password} -h ${mysql.server} ${mysql.database} < ${sql.file}" />
我正在考虑让 dbDeploy 这样做,但如果有一种简单的方法可以做到这一点,那就太好了(单行命令与 dbDeploy 的多行设置)
通过替换它来逃避角色<
我不熟悉 Phing,但它可能不会在 shell 中执行命令,因此重定向运算符将不起作用(它可能将运算符视为mysql
自身的参数)。
而不是< ${sql.file}
, try -e 'source ${sql.file}'
,所以你的整行是:
<exec command="mysql -u${mysql.username} -p${mysql.password} -h ${mysql.server} ${mysql.database} -e 'source ${sql.file}'" />
请参阅MySQL 批处理模式文档。