Least painful way of upgrading from 3.8.8?

I’ve got an install of RT 3.8.8 (and MySQL) on an ancient Debian machine. It was installed from Debian packages. It has about 11k tickets in just one queue. I’d like to bring it up to a recent and supported version.

I think I’d prefer to do it by provisioning a new host rather than doing anything on the existing host.

Let’s say I provision a new Debian host with MariaDB and import the database backup from the existing host. Could I expect to be able to run make upgrade-database from the RT 5.0.1 tarball and have it cope with upgrading the schema of that database?

If not, any other suggestions as to how best to tackle this?


That’s probably the best way, as it lets you have a “test run” whilst the old system is still live. When we moved from 4.x to 5.0.0 we did the import repeatedly before hand to make sure we’d carefully noted all the steps, had sufficient disc space available (we needed about 3 times the amount we need to run the service normally so that the UTF8 conversions could take place), got our local code modifications working, set up new features, worked out timings, etc, etc.

1 Like


I won’t have any of the on-disk configuration in place, because on the existing host that is all in different locations as it’s a packaged version. Do I just:

  • Import the old MySQL database into MariaDB renamed to “rt5”
  • Install module dependencies
  • Unpack the tarball
  • Run ./configure and tell it to install to /opt/rt5, give it the database credentials etc
  • Run make upgrade
  • Run make upgrade-database

Basically the usual upgrade instructions even though only the old database is there, not the old config files? I would just be referring to the old config files to know what new configuration to set.

And then all the UPGRADING-* steps afterwards.

Pretty much, although you’ll need to check that when you build your new config it does match/support things that you had in your old one (for example the same organisation name and dealing with any extensions you might have had in the 3.8.8 version, including ones that might have now moved into the RT core).

The make upgrade-database will ask you what version you’re going from. I just had a peep in sbin/rt-setup-database from a 5.x install and it mentions 3.7.87 steps, so I’d assume 3.8.8 should be handled OK. (EDIT: and in etc/upgrade there’s a 3.8.8 directory too).

1 Like