Bug Fix
- variables_to_replace did not pass through to sub calls when passed on cli
Security Fix
- Change mssql dbtype to use environment variable instead of passing password on cli
Bug fix
- Fix bug with eval statements wrapping incorrectly when rolled out with bash
Bug fix
- fix bug with full path not displaying in some cases for deploy file in auto deploy folders
- fix bug that caused confirm flag to not pass through in some cases
Bug fix, minor new features
- fix bug that prevented auto deploy folders from working with environment overrides
- fix bug in git plugin for auto deploy folders to allow environment overrides
- give warning on git plugin when branch is behind master to avoid orphan changes from showing up
- validate that files exist in git plugin. Things in master would show up as file not found when comparing branch
- add --check-pending which gives a 0 or 1 return code if files need deployed
Add cli override for parameters,fix run as implementation
- add override for the --allow-drop-databases command option
- fix run as implementation to pass through to forked processes
Add disable feature for plugins
- Flag to disable any plugins that are inherited via config
Bug Fix
- Fix bug in git plugin allowing for proper execution of environment folders
Add git binary to image and add version flag
- Added git to the docker file as a dependency to support the git plugin
- Added version to help output
Bug Fix, added post deployment script execution
- Fix issue when not in git checkoiut location using git plugin
- Added --post-deploy-script option to exec arbitrary script at end of run
- This passes
-d $dbname
and-n $db_destination_name
to script passed in
- This passes
Auto deploy folder bug fix
- Fix pathing issue when using auto deploy folders
Encryption, Remote Deploy, code cleanup
- MSSQL and Postgres can now enforce that they only connect with encryption
- PSQL can now remote deploy with user/pass/host settings in the same way that mssql does.
- Clean up and localize IFS usage in various files
- Add containerization features for docker
Add plugin support and Git plugin
- Added plugin functionality
- Added plugin for Git
- Adjusted the way auto deploy folders work in db_report_string dbtype functions
- Auto deploy will not redeploy a file from master automatically if it has had a checksum that has been deployed in the past (this protects a situation where an environment is ahead of master, you can force a deploy of an auto deploy file still by using the -f flag with the path to the file).
Bug fix
- Quoted variables to ensure negative test compares correctly for checksum and auto deploy folders
Lots of new features and bug fixes
- BREAKING CHANGE: Changed the variable name for
allow_drop_and_reload
toallow_drop_database
- BREAKING CHANGE: Created
dbdeployer
group with installer that has permissions to log directory. You will need to add users to this group or adjust permissions on the log directory - Added ability to drop the desired database or destination database without doing a reload (useful for dev and ci environments, or decommissioning production databases)
- Moved logging to /var/log/dbdeployer (configurable via config file)
- Added support for MySQL!
- Removed hard coded values for ping server check and enabled them to be configured in config file
- Changed logging to not include the change type as part of the folder structure for log file. This allows rollbacks of a migration to be seen in the same file migration was deployed from (if deploying rollbacks from the rollback directory)
- Changed mssql dbtype to disable the connection timeout. Default was 8 seconds before
- Migrated existing variable replace in mssql to global function. Available to all dbtypes now based on config variable set of key:value pairs (available on the command line as well)
- auto_deploy_folders_enabled option was added with a default value of false to resolve #34. More work to other items mentioned in this issue will come in the future.
Moved location of functionality
- Removed concatonation piece from variable env_exclude in config file and made it merge the pieces together in the program itself.
New features added
- BREAKING CHANGE: Changed the field separator for deployment_folders to be
:|
instead of just:
- Added config var for
auto_deploy_folders
that uses checksums to decide if files in those folders need re-deployed. This is dependent upon thecalculate_checksum
variable being set to true. - Added checksum logging and options to postgres and mssql
- Added label to indicate database in warning message for drop and reload
- Added global config variable to optionally disable user config files
New features added, bugfix
- Added deployment target database name allowing a database folder to be deployed to a name other than the database folder name. i.e, a database name of mydatabase can be deployed to a database name of mydatabase_test
- Fix issue where newline was needed before a go statement in sql server
- Changed the way mssql wraps transactions to stitch together a single file instead of deploy with multiple files through sqlcmd. This fixes most cases where sqlcmd fails to deploy items inside a transaction. If the transaction fails to deploy dbdeployer will ask if you would like to deploy the file outside of a transaction.
- Build in mechanism to allow dbname to be substitued in mssql files in the event that the script needs to reference the database name.
- Fixed bug that caused reference urls to not be logged correctly
- Fixed bug in creation of deployments database for dbdeployer for mssql
- Added ability to specify dbtype on the command line instead of only in the config file(s)