-
Notifications
You must be signed in to change notification settings - Fork 1k
feat(db): add robust support for WP_CLI_MYSQLDUMP override with fallback handling #6165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a valuable enhancement by adding robust support for overriding the SQL dump binary via the WP_CLI_MYSQLDUMP environment variable. The implementation is solid and covers the described scenarios well. My feedback focuses on improving the code's readability and enhancing the debug logging for better maintainability and user experience.
|
Thanks for the suggestions! I've applied the refactor to use early returns and added a debug message for the non-executable absolute-path case. I also updated the final log line to clearly indicate that it’s using the default dump command. Let me know if you'd like any further adjustments. |
| * | ||
| * @return string The executable (binary or absolute path) to use for SQL dump operations. | ||
| */ | ||
| function get_mysql_dump_binary() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2 main concerns at first glance:
- This can just be inlined in
get_sql_dump_command. No need for a new function - No need for the extensive logging
This PR improves the SQL dump binary resolution logic used by
wp db export.What this change does
WP_CLI_MYSQLDUMPenvironment variable.PATHwp db export.mariadb-dumpon MariaDB installsmysqldumpotherwiseWhy this is useful
Many Docker-based or custom server environments provide only one of the dump
clients, or store it in a non-standard location. This update makes
wp db exportmore predictable and easier to configure across those setups.
Testing
The change was tested in multiple scenarios:
Valid absolute override
WP_CLI_MYSQLDUMP=/usr/bin/mysqldump→ export succeeds, correct binary selected.Invalid absolute override
Non-existent file → ignored, fallback selected correctly.
No environment override
MariaDB installation correctly defaults to
mariadb-dump.All scenarios produced valid export files and correct debug messages.
Happy to adjust anything if needed. Thanks for reviewing!