Releases: webfactory/slimdump
Raise minimum PHP version to 8.1, allow up-to-date dependencies
Fix dumping databases that contain DC2:... column comments with unknown types
Honor the connection character set selected through a DSN parameter
What's Changed
Full Changelog: 1.14.1...1.15.0
Fix that `TRIGGER` definitions need to come _after_ data for a table
Since the addition of the CSV output mode in the 1.14.0 release, TRIGGER
definitions were (unintentionally) dumped before the data for a table. In previous releases, they followed the INSERT
statements.
Creating triggers before loading the data may be a problem when the trigger fires and not all tables have been created or locked at that time, so this change was reverted (#100).
What's Changed
- Update to
actions/checkout@v3
by @mpdude in #97 - Update PHP-CS-Fixer to v3.11 by @mpdude in #98
- Update actions/cache to v3 by @mpdude in #99
- Dump TRIGGER definitions after data by @mpdude in #100
Full Changelog: 1.14.0...1.14.1
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
Better deal with MySQL's `max_execution_time` setting
The max_execution_time
might cause rows to be missing from dumps when PHP < 7.4.13, but could also lead to dumps being aborted for newer PHP versions (#84).
This release disables the max_execution_time
timeout value for slimdump
's database connection (#86).
Additionally, a warning is printed (#85) when the number of rows dumped does not match the number expected (which is based on a COUNT(*)
query).
Dump triggers properly with a delimiter
A release without changes
But hopefully, this time a .phar version will be built. 🤞🏻
Use 0x... hex-dump style also for BINARY column types (#80)
1.12.1 Use `0x...` hex-dump style also for `BINARY` column types (#80)
single-line-insert-statements
This release comes with the following changes:
- Optional parameter
--single-line-insert-statements
: This option can speed up imports significantly if you dump tables with a very large number of rows. KEYS
are beingDISABLED
before inserting data andENABLED
afterwards.