Managing a lifecycle of an enterprise doesn’t only depend on sales and profits but also multiple copies of an organizations application database for different activities such as production, development, staging and testing. Remember that each database must adhere to it set of rules. For instance, production database must adhere to all set of rule of proper production controlling procedure. It is a fact that the administrator must have the tools to detect all the unauthorized changes like dropping index without the requisite change approval. In this kind of scenario it is best that you monitor you production databases on a daily basis.
The Best Database Change Management Practices
1. Make sure that you deploy with a roll forward and rollback scripts
When a developer check in codes that requires the schema change, it require two scripts in order to perform the database change. One of the scripts will be used to alter tables that add columns, seed data, change data type, create new table, clean table, views, functions and store procedures. It should also have a rollback script, which will enable tables to go back to their previous state. Database change management is convenient for the enforcement of good coding.
2. The BAN Select
Whenever you select a section from the table, ensure that you specify the column’s name in all of your SQL code. This will prevent any kind of breaking of the old code that did select if code or feature changes to add column to the table. If your table was a four column one and after the changes it turns to a five column table, it may break the code which uses SELECT.
3. Ensure that you perform backup to the affected data
All database rollback scripts contain their own limits, so ensure that you have a full backup system on all of your tables. This is an insured way to keep your data safe. Due to the fact that developer’s script cannot retrieve or account for all live database. This is when a backup system will come in handy.
4. Build a feature flag
The feature flags provides the organization with a mechanism which will you to turn off or on any new feature. When you go an extra mile to build data in this switch you will be able to roll out new feature without trouble. The interesting part is that it has a mechanism which can disable or enable feature for some percentage of the users. It also allow you to dial the features and give you the option of exposing details to certain groups of users. If need arise it will also give a chance to disable features that has gone awry.
5. Involve a DBAs IN THE test process and review
Before you deploy a new release, ensure that you include a process which helps to review the scripts and the schema. This give your database an additional sanity check and also database administrator’s perspective on all the changes. It will also give you warning on any potential problem that you may encounter. Conclusion
Are you an administrator or a developer, if you are then database change will came in handy to improve your work efficiency? With the above details you will be able to manage and speed up your work rate reason being that you have the best of knowledge about.
Chris is the Lead Author & Editor of Change Blog. Chris established the Change blog to create a source for news and discussion about some of the issues, challenges, news, and ideas relating to Change Management.