- 0 Comments
It goes without saying that your code and code changes must be under version control. You wouldn’t think of having it otherwise. So what about version control for your database?
Data-driven applications often have a large portion of code in the database. These code pieces can be in many formats, including procedures, packages, packages body, table structure, view structure. And the data can be in configuration tables or lookup tables. In such cases, database schema and content require version control just like the application does.
But the need for such version control seems to fly under the radar of many project managers, and as a result, many databases are left without needed version control, a serious problem should the need for database schema or data rollback occur.
So what exactly does a good database version control solution look like? In a nutshell, all changes must be managed and documented. And to achieve this goal, there are several critical issues:
- It must be impossible to change a database object before you check out the item. This, in turn, requires a robust locking enforcement mechanism – no bypasses, no exceptions – that prevents changes to an object unless the object is checked-out.
- Changes to the database objects must be tracked, which is done at check-in.
- The version control repository (vault) must have the same object definitions as found in the database. This can only be assured if the vault is hidden and protected from direct access.
And this, in turn, requires a change enforcement mechanism at the database level.
This is important for several reasons.
- Without a check-out locking mechanism, developers can inadvertently overwrite the work of other developers. By ensuring that no one can access the data object while someone else has it locked, such losses can be prevented.
- If there is a problem with the database, there is a need to determine when, how and who is responsible, so as to correct the problem.
- If there is a need to roll back the database schema or database content to an earlier version, the tracking is critical.
Without a change enforcement mechanism that is integrated at the database level, the vault is of no benefit. And dbMaestro TeamWork for Oracle is the only Oracle database version control software that enforces the change policy by locking database objects in the database level.
TAGSChange Management Softwaredatabase change controldatabase change managementDatabase Change Mangagementdatabase configuration managementdatabase deployment managerdatabase deployment tooldatabase management softwaredatabase schema controldatabase version controloracle database change managementoracle database version controloracle db change managementSCMSDLCSoftware Change Management