Diff-friendly mysqldump with an improved interface.
- Available as Composer package eloquent/dumpling.
- Executable phar available for download.
- API documentation available.
Dumpling is a wrapper for mysqldump that uses sensible defaults, and provides a streamlined interface. Dumpling is designed to be as intuitive and simple to use as possible.
Dumpling still uses mysqldump internally, so it's 100% compatible. It also produces output which is much more diff-friendly than standard mysqldump.
- Outputs internal databases like
mysql
andinformation_schema
which are useless in 99% of cases (and potentially dangerous when importing). - Extreme line length on extended INSERT statements causes havok for many text editors.
- Diffing of extended INSERT statements is useless, because of line length, and unpredictable row order.
- Leaves out important procedure and function information by default.
- Command line interface is cluttered and inflexible; inclusion/exclusion of databases and tables is inconsistent and limited.
- Raw binary data ruins portability & human readability.
- Command line interface uses non-standard conventions for options and their values.
Usage:
dumpling [database] [table1] ... [tableN]
Arguments:
database The database to dump.
table The table(s) to dump. Expects database.table format.
Options:
--database (-D) Additional database(s) to dump. (multiple values allowed)
--exclude-database (-X) Database(s) to ignore. (multiple values allowed)
--table (-T) Additional table(s) to dump. Expects database.table format. (multiple values allowed)
--exclude-table (-x) Table(s) to ignore. (multiple values allowed)
--no-data (-d) Do not dump table data.
--host (-H) The server hostname or IP address. (default: "localhost")
--port (-P) The server port. (default: "3306")
--user (-u) The user to connect as. (default: "root")
--password (-p) The password for the user.
--help (-h) Display this help message.
--version (-V) Display this application version.
dumpling
dumpling --exclude-database database_a
dumpling --no-data
dumpling database_name
dumpling database_name table_name
dumpling --table database_a.table --table database_b.table