-- This SQL updates user fields from one username to another. It replaces all fields that had
-- usernames in my 3.5.3 data set. This may not be all possible fields, so USE AT YOUR OWN RISK,
-- and certainly make a backup before running.
--
-- Later versions of JIRA may introduce new fields storing usernames. To find newly introduced
-- user fields, this command is helpful:
--   grep $USERNAME jiradata.xml | grep -v ChangeGroup | grep -v Action | grep -v Issue | grep -v FileAttachment | grep -v FilterSubscr | grep -v NotificationInstance | grep -v SearchRequest | grep -v SchemePermissions.*user.*$USERNAME | grep -v OSMembership.*userName.$USERNAME | grep -v HistoryStep | grep -v OSPropertyString | grep -v OSMember | grep -v \<Project | grep -v OSUser | grep -v OSCurrentSt | grep -v ChangeItem | grep -v CustomFieldValue | grep -v PortalPage
--
update jiraissue set reporter='newname' where reporter='oldname';
update jiraissue set assignee='newname' where assignee='oldname';
update jiraaction set AUTHOR='newname' where AUTHOR='oldname';
update changegroup set AUTHOR='newname' where AUTHOR='oldname';
update changeitem set OLDVALUE='newname' where OLDVALUE='oldname' and FIELD='assignee';
update changeitem set NEWVALUE='newname' where NEWVALUE='oldname' and FIELD='assignee';
update searchrequest set authorname='newname' where authorname='oldname';
update searchrequest set username='newname' where username='oldname';
update schemepermissions set parameter='newname' where parameter='oldname' and type="user";
update searchrequest set authorname='newname' where authorname='oldname';
update schemepermissions set PARAMETER='newname' where PARAMETER='oldname' and TYPE="user";
update membershipbase set USER_NAME='newname' where USER_NAME='oldname';
update OS_CURRENTSTEP set owner='newname' where owner='oldname';
update OS_CURRENTSTEP set caller='newname' where caller='oldname';
update OS_HISTORYSTEP set owner='newname' where owner='oldname';
update OS_HISTORYSTEP set caller='newname' where caller='oldname';
update fileattachment set author='newname' where author='oldname';
update filtersubscription set username='newname' where username='oldname';
update project set lead='newname' where lead='oldname';
update userbase set username='newname' where username='oldname';
update customfieldvalue set stringvalue='newname' where stringvalue='oldname';
update columnlayout set username='newname' where username='oldname';
update portalpage set username='newname' where username='oldname';
