New CSV output mode
The main new feature of this release is a new output mode for CSV files (#92).
The new command option --output-csv=...
enables CSV output mode, and must be given the path to a directory. The output mode will create .csv files in the given directory, named according to the dumped tables.
This output format does not support output redirection from stdout as the default MySQL SQL format does.
CSV files will be created only for tables that contain data. In other words, schema type dumps will skip the table in question. Also, dumping views/triggers makes no sense for CSV files, they will be skipped as well.
How to best write binary (BLOB) data and/or NULL values in CSV files is probably highly controversial. For now, we'll just go with the 0x... hex literals supported by MySQL. Maybe having binary data in CSV files is not a sane idea in the first place.
Also, the exact details of the CSV format might still change, so consider this feature as experimental.
Full list of changes
- Run GitHub Actions Workflows on Ubuntu 20.04 @mpdude in #87
- Bump dependencies, update test matrix by @mpdude in #91
- Remove
DumperTest
by @mpdude in #90 - Refactor output-format related code into a dedicated class + interface by @FabianSchmick in #88
- Refactor the SlimdumpCommand, DumpTask and Dumper classes by @mpdude in #93
- Remove the
Dumper::keepalive()
method by @mpdude in #94 - Ensure PHP 7.2 compatibility for the
composer.lock
file by @mpdude in #95 - Implement CSV output mode by @FabianSchmick in #92
New Contributors
- @FabianSchmick made their first contribution in #88
Full Diff: 1.13.0...1.14.0