reason for its existence).
Figure 2: Compare and Sync Database schema
Deployment based on business requirements
Databases have numerous objects, many of which are changed during the development cycle. Improving the release manager's efficiency while preparing the deployment script using the compare and sync solution is the reason for deploying changes based on business requirements.
The ability to filter out the objects and changes by business requirements increases the agility of the organization to respond to a faster deployment cycle. The organization is then focusing on the relevant changes, and ignoring background noise, such as incomplete development efforts or postponed tasks. This can be easily achieved by enforcing version control management policies on the database deployment, and making sure all changes are linked with the relevant change requests.
Figure 3: Deploy database changes by business requirements
Merging of Conflicts
It is the responsibility of the deployment solution to provide a good platform to merge the conflicts in the database code that can happen. Conflicts can occur due to several reasons, such as emergency patches, working on several versions in parallel, and merging several databases, in addition to others.
Conflicts can be in code, such as procedure. In the case described in the image below, it is clear that a change has occurred in both development environment (on the left side), and the integration environment (on the right side), as we can see that both are different from the baseline (previous version, in the middle). Understanding the nature of the change is necessary in order to make an educated decision of how to merge the code on the bottom side of the screen (taking some changes from the development branch, and incorporating them with the changes made to the integration environment by another team).
Figure 4: Merge conflict for database object s
Conflict can also occur in lookup data. A good deployment solution has the ability to drill down and display the origin of the change, thus giving the user the ability to make an educated decision to override or ignore.
Let's examine the picture below in which there are three rows with different keys ( ID): 1300, 1500, and 1600.
- There is a change between the environments in the CODE column for the row represented by ID,which is 1300. The source and baseline environments have the same value (6656) and the destination environment has a different value (6823). Using the baseline comparison, the team leader resolving the conflict will decide not to include this update in the deployment script since the change origin is not from the source environment
- The row represented by ID, which is 1500, has a change in the DESCRIPTION column. All three environments (source, destination, and baseline) have different values. In this instance, the team leader will decide that the correct value is from the source environment and will update the destination environment with that value
- The row represented by ID, which is 1600, contains a change in the CODE column. In this row, the origin of the change is from the source environment with the value (501090) and the destination and baseline environments have the same value (50090). In this instance, the team leader will decide to override the destination environment's value with the value from the source environment
Figure 5: Merge lookup data conflict
IT and development are required by the business units to deliver new features faster in order to respond to the changes in the market.
A good deployment solution must cover all application tiers, such as binary code, configuration files ,and database code.
There are many products