Hi,
I recently stepped into a new role and inherited management of an old RT installation (4.4.4) that’s on top of an out-of-date OS (CentOS 7). That RT instance is actively used by multiple business units. The back end is postgresql… however, other than this single instance, every other database here is on mariadb.
What I’d like to do is get this moved over to RT 6.0.2, with a mariadb back end, and on a brand new virtual machine host (the old server is a VM running on very old hardware, plus the vm itself seems to have some odd issues - so I’d strongly prefer not to use the existing virtual machine).
I’m familiar with RT as a user, but haven’t had to admin it before. After reading the docs and hunting around the forum, I suspect the general upgrade path is as follows - but I’d appreciate any corrections or general guidance.
-
On the original server, use rt-serializer to generate a clone the existing RT installation
-
On the new server, build a new RT instance of the same vintage (4.4.4) but with a mariadb back end. Then use rt-setup-database, followed by importing the old system’s data with rt-importer.
-
Upgrade to RT 5 (is this intermediate step necessary?)
-
Upgrade to 6.0.2
Thank you for any input!
The only bit you don’t need to do is the RT 5 upgrade, you can install RT 6 and when you run make upgrade-database the RT 5 db steps will be ran
One thing to note is that as you’ll be going from 4.x to 6.x (via 5.x) you’ll get the unicode conversions of tables done that was introduced in 5.x. This will be handled by the make upgrade-databasementioned by @knation, but just make sure you’ve got enough disc space available on the new VM to handle it. When we moved from 4.x to 5.x we had to provision the new VM with (IIRC) three times the storage to get it to do all the table conversions (we have some big tables!).
Thank you both! I will be sure to allow lots of extra space… fortunately the VM host machine I intend to put the new server on has tons of as-yet-unallocated space.
I already did a test of steps 1 and 2. One interesting (but fortunately solvable) issue was rt-importer complaining about NULL LastUpdatedBy entries, although it didn’t appear to mention which table. Searching the original postgresql tables found no such entries. As a diagnostic step, I altered the mariadb tables to allow nulls, which allowed rt-importer to succeed… but afterward, none of the target tables contained the aformentioned NULLs either! It’s not something I’m worried about; I’m just not sure it makes sense to submit a potential bug report on 4.4.4 haha.