I intuitively think that an application should be exactly the same in DEV, QA, and PROD environments. However, I have been asked to add a feature to an application that will only be available in DEV environment.
I have a server and database for each environment - dev, test, and production. I want to know if there would be any possible issues that could arise (and "best practice" for avoiding them) from having a feature of a large application only available on development server.
The tool modifies DEV database values and produces an output script that will be tested in QA and afterwards will be used to modify production data. The authentication that allows access to the feature will not be available in QA and PROD environments. I understand that this will work, but is this correct for Java EE standards?
The feature would:
- Modify values in the development database then export a SQL script that has the current state of the development database.
- The SQL script would then be run on testing database and if every function worked properly afterwards it would also be run on production database.
- The code that would modify the testing and production databases is not available in either of those environments.