I have a Production Jira instance that is used heavily and a Test instance that I can add new fields and change without impacting users. Both are version: 3.13.5. Before any development is done on the Test instance we will backup the Production instance to the Test instance. After our new fields and screens are tested out on the Test instance, we would like to import those configuration changes to the Production instance without losing any user data entered since the last backup. (We are particularly interested in being able to import custom fields.)
I have seen a similar question regarding this on the forums, but the solution was to import on a project-by-project basis. If we import a project from Test to Production won't we lose issue data updates (since the last backup) for that project? Is there a way to avoid this?
Is it possible to accomplish this by importing the Jira DB configuration tables (customfield, fieldlayout, etc.) and leave the data tables (jiraissues, etc.) untouched?
I have attempted to do this with a perl script. It does an XML backup just in case, then bulk copies the config tables (to txt files and imports them into truncated tables) and updates the SEQUENCE_VALUE_ITEM table with new IDs as required. Jira is stopped before the script and restarted afterwards. So far my testing has been only on the Test instance, as I am not totally confident this method will work...and I'd prefer not to have to restore the Production system from a backup after corrupting it. After running this script on my Test instance, when I click on an issue I get a System error "Cause: java.lang.NullPointerException". Do I need to re-index the DB or something else? Or am I trying to do the impossible?
Thank you in advance for your help!