要将数据从某个 mysql 表导出到 xml,我使用以下命令:
mysqldump --xml -t -u [username] --password=[password] [database] [table] > /path/to/file.xml
它工作得很好。
我的问题是它从表中导出所有列,我不想要这个。我需要用于单元测试的 xml 输出,因此在输出中有一个“created_at”列会使我的所有测试都失败。
所以我的问题是:假设我有一个名为“Table”的mysql表,列“col_1,created,col_2”,我如何将“created”标记为不会显示在通过mysqldump
命令获得的输出xml文件中的列?
更新:我现在无法回答我的问题,我稍后再回答。我需要它用于 PHPUnit,但实际上我可以直接在 PHPUnit 中过滤 DataSet,而不是过滤 mysqldump 输出。
$filterDataSet = new PHPUnit_Extensions_Database_DataSet_DataSetFilter($notFilteredDataSet);
$filterDataSet->setExcludeColumnsForTable('Table', array('created_at'));
会做我需要的。