Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Add support for MySQL 4.1 and improve code readability
- Modify tests to use information_schema only for MySQL 5.x+
- Add version info to sandbox scripts to give them more awareness
In general, remove as many hard-coded text as possible:
- Add function IsEnvSet to check when env variables are set;
- Add variables for features minimum versions;
- Add constants for sandbox script names;
- Add constants for most used error messages;
- Add comparison functions for testing in a separate package;
- Replace manual path composition with path.Join
- Added ability of unpacking "tar.xz" files (tarballs for Linux are compressed with xz instead of gzip as of MySQL 8.0.12)
- Fixed minor issue in unpack-shell. The unpacker was trying to move the shell extracted directory to the server directory.
- Code cleanup: fixed many code style violations
- Added unit test for abbreviations module.
Minor bug fixes and more tests
- Merged in PR #39 (add port to prompt)
- Added tests for common/checks and common/tprintf
- Refactored some code to improve testability
- Replaced stack implementation
- Added tests for stack and concurrency
Added sandbox operations logging (on demand)
- Added option --log-sb-operations to enable logging
- Added option --log-directory to change the default directory ($SANDBOX_HOME)
- Added log-sb-operations and log-directory fields to default values.
- Added option
--repl-crash-safe(Issue #36) to get crash safe params without GTID.
- Fixed Issue #35 (
- Fixed Issue #37 (slave initialization with GTID should use
Testing and more
- Added test for GTID behavior.
- Added option to build compressed executables (but defaults is still uncompressed)
- Added ./scripts/sanity_check.sh to verify formatting and code complaint.
- Some code refactoring: simplified exit procedure
- Moved build script to ./scripts
Fix Issue #34 "dbdeployer fails with .mylogin.cnf"
dbdeployer fails when a valid .mylogin.cnf is found in the $HOME directory. The failure is due to the way .mylogin.cnf is designed: it bypasses --no-defaults and --defaults-file (really funny, MySQL team!)
The only known way of using --no-defaults or --defaults-file with .mylogin.cnf is to define an impossible path for it using MYSQL_TEST_LOGIN_FILE environment variable.
dbdeployer does that, and also all the sandbox files use the same workaround.
unpack --shell tarball_name
Now dbdeployer can unpack a shell tarball and merge it with the corresponding server.
Also the option
--target-server lets us choose where to merge.
See "Installing MySQL shell" in README.md
Bug fixes and code refactoring
Fixes Issue#30 "--rpl-user and --db-user should not allow root"
Remove string literals from options handling
All flags used on the command line are now defined in the "defaults" package and referred to as variables, rather than using their literal values directly.
This eliminates some of the risks of handling the wrong option or leaving one option unread.