Upgrade from 3.8.6 to 4.4.3 FAILS

After following the upgrade recipe included with 4.4.3 (and trying LOTS of other spells) and getting nothing but FAILS, I’m at my wits end.

Our production server is old and as implied is PRODUCTION, so tearing it apart in place is not an option.

I’ve installed a new CentOS 7 and RT 4.4.3. It works.

I’ve dumped the old rt3 db to .sql and imported it to the new mariadb install.

Here’s the error when I run make upgrade-database.

Any help is greatly appreciated.

Enter RT version if you want to stop upgrade at some point,
or leave it blank if you want apply above upgrades:


Proceed [y/N]:y
Processing 3.8.6
Now inserting data.
[2807] [Wed Oct 31 20:29:46 2018] [warning]: DBD::mysql::st execute failed: Unknown column ‘main.Type’ in ‘where clause’ at /usr/local/share/perl5/DBIx/SearchBuilder/Handle.pm line 586, <> line 2. (/usr/local/share/perl5/DBIx/SearchBuilder/Handle.pm:586)
[2807] [Wed Oct 31 20:29:46 2018] [warning]: RT::Handle=HASH(0x6255ba8) couldn’t execute the query ‘SELECT main.* FROM Groups main JOIN Principals Principals_1 ON ( Principals_1.id = main.id ) WHERE (Principals_1.Disabled = ‘0’) AND (Principals_1.PrincipalType = ‘Group’) AND (main.Domain = ‘SystemInternal’) AND (main.Name != main.Type OR main.Name IS NULL) ORDER BY main.Name ASC LIMIT 1’ at /usr/local/share/perl5/DBIx/SearchBuilder/Handle.pm line 599, <> line 2.
DBIx::SearchBuilder::Handle::SimpleQuery(‘RT::Handle=HASH(0x6255ba8)’, ‘SELECT main.* FROM Groups main JOIN Principals Principals_1 …’) called at /usr/local/share/perl5/DBIx/SearchBuilder.pm line 241
DBIx::SearchBuilder::_DoSearch(‘RT::Groups=HASH(0x7e68ac8)’) called at /home/nolan/rt-4.4.3/sbin/…/lib/RT/SearchBuilder.pm line 982
RT::SearchBuilder::_DoSearch(‘RT::Groups=HASH(0x7e68ac8)’) called at /home/nolan/rt-4.4.3/sbin/…/lib/RT/Groups.pm line 432
RT::Groups::_DoSearch(‘RT::Groups=HASH(0x7e68ac8)’) called at /usr/local/share/perl5/DBIx/SearchBuilder.pm line 513
DBIx::SearchBuilder::Next(‘RT::Groups=HASH(0x7e68ac8)’) called at ./etc/upgrade/4.1.13/backcompat line 16
main::ANON(‘CODE(0x64019b8)’) called at sbin/rt-setup-database line 398
main::ANON() called at sbin/rt-setup-database line 401
main::action_insert(‘prompt-for-dba-password’, 1, ‘datafile’, undef, ‘action’, ‘upgrade’, ‘datadir’, ‘./etc/upgrade/3.8.6’, ‘backcompat’, …) called at sbin/rt-setup-database line 569
main::action_upgrade(‘prompt-for-dba-password’, 1, ‘action’, ‘upgrade’, ‘package’, ‘RT’) called at sbin/rt-setup-database line 210 (/usr/share/perl5/vendor_perl/Carp.pm:103)
[2807] [Wed Oct 31 20:29:46 2018] [error]: A Template with that name already exists (/home/nolan/rt-4.4.3/sbin/…/lib/RT/Handle.pm:1405)

Your idea of doing this on an isolated system is best practice. But I would install a fresh 3.8.6, copy over the database from the prod system, and then upgrade from there. Thinking about it, it feels like what you did show work, but I think my suggestion is the next step. Make sure to follow the README for upgrades.

Info that might help: I see 'git log’ing on etc/upgrade and etc/schema.mysql, the Groups.Type column was deleted, but from your error it looks like you’re on the 4.1.13 upgrade step, and the removal of that column is in the 4.3.11 upgrade step. So not sure whats going on there. Is there a ‘Type’ column in the ‘Groups’ table of a fresh prod copy? Surely there must be?

A dumb thing to try is to create a ‘Type’ column on the Groups table and then re-run ‘make upgrade-database’ starting with the step that failed. I probably wouldn’t use a database in production that this worked on, but it might help give more clues.

Your version to current RT is a pretty big gap, personally I’d assume upgrade issues that needed elbow grease instead of a seamless upgrade for that.

Thank you Mr Todd_Wade1. I will give that a go and let you know…


As I was trolling through the questions after I responded to yours I saw someone posted a post upgrade question saying they had recently upgraded from 3.8.8, so I’m starting to feel like your upgrade SHOULD be going smoothly for you.

Your log shows ‘Processing 3.8.6’, but then the error message seems to hint it errors at the 4.1.13 upgrade. Are there any messages in between those output items?