My question has to do with best practices and tools used for promoting application configuration data to a new environment as part of a typical testing cycle. The latter includes three environments, TEST, STAGING and PROD. Code and configuration changes are applied first to test and then promoted to STAGING and then to PROD once tests have passed at each step of the way.
Promoting a build of the software from environment to environment is straightforward. However, managing the promotion of the corresponding setup / configuration data changes is more challenging. The application is highly configurable and the configuration data is large - several GB stored in a few hundred Oracle db tables.
Conceptually, the problem consists of:
- Keeping track of all creates, updates and deletes to configuration data made within the application.
- Transferring those changes from one environment to another
Due to the large number of changes involved, doing this manually is time consuming and error prone. My question is: are there any useful tools and strategies that can be used to automate/strealmine this process?