I don't understand why upgrading needs to be complicated. Isolate the user data, replace the tablecloth, drop data back into place. Done.