私は次のコマンドを使用XMLに特定のMySQLのテーブルからデータをエクスポートするには:のmysql:コンクリートの柱なしでXMLにテーブルをエクスポートする
mysqldump --xml -t -u [username] --password=[password] [database] [table] > /path/to/file.xml
をし、それだけで正常に動作します。
私の問題は、それがテーブルからすべての列をエクスポートし、私はこれが欲しくないということです。私は単体テストのためにxml出力が必要なので、出力に "created_at"という列を付けるとすべてのテストが失敗します。
私の質問は、 "テーブル"と呼ばれる "col_1、created、col_2"というmysqlテーブルがあると仮定して、取得された出力xmlファイルには表示されない列として "created" mysqldump
コマンドを介して?
更新:今質問に答えることができません。後でやります。私はPHPUnitに必要でしたが、実際にはmysqldumpの出力をフィルタリングする代わりに、PHPUnitでDataSetを直接フィルタリングできます。
$filterDataSet = new PHPUnit_Extensions_Database_DataSet_DataSetFilter($notFilteredDataSet);
$filterDataSet->setExcludeColumnsForTable('Table', array('created_at'));
私は必要なものを行います。
これは本当に素晴らしいです!しかし、私が必要とするものは、列を制御することです – mkk
私は誤解しました - 明確化のためにありがとう。私は、ダンプファイルをインポートした後に列を削除します:alter table drop column created_at。次に、テストを実行します。 –