Upgrade fail

Hello.
I am trying to upgrade from 3.8.11 to stable and make upgrade-database is
bombing. The error message is
9449] [Thu Feb 5 19:23:36 2015] [critical]: DBD::mysql::db
selectcol_arrayref failed: Unknown column ‘main.Lifecycle’ in 'field list’
at /usr/local/share/perl/5.18.2/DBIx/SearchBuilder.pm line 635.
(/home/user/temp/rt/sbin/…/lib/RT.pm:388)
DBD::mysql::db selectcol_arrayref failed: Unknown column 'main.Lifecycle’
in ‘field list’ at /usr/local/share/perl/5.18.2/DBIx/SearchBuilder.pm line
635.
make: *** [upgrade-database] Error 255

I setup a fresh vm for this job to test. I was able to set up RT from
stable just fine without an upgrade. So then I dropped that rt4 database,
deleted the /opt/rt4 install folder, dumped the rtdb old database to a sql
file. Copied the sql dump over to the vm. Imported it as rt4. Did make
upgrade to recreate the rt4 folder. Configured the database user and
password in RT_SiteConfig.pm. Granted permissions to the rt4 user with
that password to the rt4 folder and hit make upgrade-database. After
giving the root mysql password the above error is presented.

Assistance at this point would be appreciated. Let me know what additional
information I can provide.
Thank you,
~Joshua

Ok. So I have done some additional investigation and here is what I have
found. The new Queues table has two new fields named Lifecycle and
SubjectTag. Lifecycle field is accessed in the RT::Init which is called at
the top of action_insert before it can do the insert portion of the first
upgrade step… I think. It is looking like the code is assuming stuff
about the database structure which isn’t true just in trying to set up to
do the upgrade steps.

I suppose this means I am trying to jump too many versions at once and I
need to do an intermediate upgrade at an intermediate step. Probably at
the version which introduces these columns. If that version couldn’t have
upgraded everyone would have gotten stuck.

Sound plausible?
~JoshuaOn Fri, Feb 6, 2015 at 7:05 AM, Joshua Lansford < joshua.lansford@laserlinc.com> wrote:

Hello.
I am trying to upgrade from 3.8.11 to stable and make upgrade-database
is bombing. The error message is

9449] [Thu Feb 5 19:23:36 2015] [critical]: DBD::mysql::db
selectcol_arrayref failed: Unknown column ‘main.Lifecycle’ in ‘field list’
at /usr/local/share/perl/5.18.2/DBIx/SearchBuilder.pm line 635.
(/home/user/temp/rt/sbin/…/lib/RT.pm:388)
DBD::mysql::db selectcol_arrayref failed: Unknown column ‘main.Lifecycle’
in ‘field list’ at /usr/local/share/perl/5.18.2/DBIx/SearchBuilder.pm line
635.
make: *** [upgrade-database] Error 255

I setup a fresh vm for this job to test. I was able to set up RT from
stable just fine without an upgrade. So then I dropped that rt4 database,
deleted the /opt/rt4 install folder, dumped the rtdb old database to a sql
file. Copied the sql dump over to the vm. Imported it as rt4. Did make
upgrade to recreate the rt4 folder. Configured the database user and
password in RT_SiteConfig.pm. Granted permissions to the rt4 user with
that password to the rt4 folder and hit make upgrade-database. After
giving the root mysql password the above error is presented.

Assistance at this point would be appreciated. Let me know what
additional information I can provide.
Thank you,
~Joshua

Ok. So I have done some additional investigation and here is what I have
found. The new Queues table has two new fields named Lifecycle and
SubjectTag. Lifecycle field is accessed in the RT::Init which is called at
the top of action_insert before it can do the insert portion of the first
upgrade step… I think. It is looking like the code is assuming stuff
about the database structure which isn’t true just in trying to set up to
do the upgrade steps.

Please show the complete output of ‘make upgrade-database’, not just a
small snippet.

I suppose this means I am trying to jump too many versions at once and I
need to do an intermediate upgrade at an intermediate step. Probably at
the version which introduces these columns. If that version couldn’t have
upgraded everyone would have gotten stuck.

It shouldn’t be necessary to to the upgrade in multiple steps.

  • Alex

Upgrading in stages did solve the problem. I downloaded version 3.9.7
which is the version Lifecycle was introduced. Upgrading using this
version and then upgrading using the latest version of the code completed
without errors. From the log I believe I am now on 4.2.10.

I’ll back up and restore the unupgraded database to reproduce the complete
error message.
~JoshuaOn Fri, Feb 6, 2015 at 2:02 PM, Alex Vandiver alexmv@bestpractical.com wrote:

On Fri, 6 Feb 2015 13:44:06 -0500 Joshua Lansford < joshua.lansford@laserlinc.com> wrote:

Ok. So I have done some additional investigation and here is what I have
found. The new Queues table has two new fields named Lifecycle and
SubjectTag. Lifecycle field is accessed in the RT::Init which is called
at
the top of action_insert before it can do the insert portion of the first
upgrade step… I think. It is looking like the code is assuming stuff
about the database structure which isn’t true just in trying to set up to
do the upgrade steps.

Please show the complete output of ‘make upgrade-database’, not just a
small snippet.

I suppose this means I am trying to jump too many versions at once and I
need to do an intermediate upgrade at an intermediate step. Probably at
the version which introduces these columns. If that version couldn’t
have
upgraded everyone would have gotten stuck.

It shouldn’t be necessary to to the upgrade in multiple steps.

  • Alex

Here is the upgrade error in full.
mysql -u root -p
create database rt4;
quit;
git clone git://github.com/bestpractical/rt.git -b stable
cd rt
autoconf
./configure > configure.log
sudo make fixdeps > fixdeps.log
make testdeps > testdeps.log
sudo make upgrade > upgrade.log 2>&1
mysql -u root -p rt4 < …/…/rtbackup.sql
cat << EOF | sudo tee /opt/rt4/etc/RT_SiteConfig.pm
Set( $DatabaseRequireSSL, ‘’ );
Set( $DatabaseType, ‘mysql’ );
Set( $CommentAddress, ‘hidden’ );
Set( $CorrespondAddress, ‘hidden’ );
Set( $DatabaseHost, ‘localhost’ );
Set( $DatabaseName, ‘rt4’ );
Set( $DatabasePassword, ‘hidden’ );
Set( $DatabasePort, ‘’ );
Set( $DatabaseUser, ‘rt_user’ );
Set( $Organization, ‘public.laserlinc.com’ );
Set( $OwnerEmail, ‘hidden’ );
Set( $SendmailPath, ‘/usr/sbin/sendmail’ );
Set( $WebDomain, ‘public.laserlinc.com’ );
Set( $WebPort, ‘80’ );
Set( $rtname, ‘public.laserlinc.com’ );
Set( $WebPath, “/rt” );
1;
EOF
sudo make upgrade-database 2>&1 | tee upgrade-database.log

The outputs are attached.
~JoshuaOn Fri, Feb 6, 2015 at 3:44 PM, Joshua Lansford < joshua.lansford@laserlinc.com> wrote:

Upgrading in stages did solve the problem. I downloaded version 3.9.7
which is the version Lifecycle was introduced. Upgrading using this
version and then upgrading using the latest version of the code completed
without errors. From the log I believe I am now on 4.2.10.

I’ll back up and restore the unupgraded database to reproduce the complete
error message.
~Joshua

upgrade-database.log (2.07 KB)

upgrade.log (11.3 KB)

testdeps.log (3.3 KB)

fixdeps.log (3.31 KB)

configure.log (2.48 KB)

Trying that again with .txt attachments to prevent mail list scrubbing.On Mon, Feb 9, 2015 at 8:17 AM, Joshua Lansford < joshua.lansford@laserlinc.com> wrote:

Here is the upgrade error in full.
mysql -u root -p
create database rt4;
quit;
git clone git://github.com/bestpractical/rt.git -b stable
cd rt
autoconf
./configure > configure.log
sudo make fixdeps > fixdeps.log
make testdeps > testdeps.log
sudo make upgrade > upgrade.log 2>&1
mysql -u root -p rt4 < …/…/rtbackup.sql
cat << EOF | sudo tee /opt/rt4/etc/RT_SiteConfig.pm
Set( $DatabaseRequireSSL, ‘’ );
Set( $DatabaseType, ‘mysql’ );
Set( $CommentAddress, ‘hidden’ );
Set( $CorrespondAddress, ‘hidden’ );
Set( $DatabaseHost, ‘localhost’ );
Set( $DatabaseName, ‘rt4’ );
Set( $DatabasePassword, ‘hidden’ );
Set( $DatabasePort, ‘’ );
Set( $DatabaseUser, ‘rt_user’ );
Set( $Organization, ‘public.laserlinc.com’ );
Set( $OwnerEmail, ‘hidden’ );
Set( $SendmailPath, ‘/usr/sbin/sendmail’ );
Set( $WebDomain, ‘public.laserlinc.com’ );
Set( $WebPort, ‘80’ );
Set( $rtname, ‘public.laserlinc.com’ );
Set( $WebPath, “/rt” );
1;
EOF
sudo make upgrade-database 2>&1 | tee upgrade-database.log

The outputs are attached.
~Joshua

On Fri, Feb 6, 2015 at 3:44 PM, Joshua Lansford < joshua.lansford@laserlinc.com> wrote:

Upgrading in stages did solve the problem. I downloaded version 3.9.7
which is the version Lifecycle was introduced. Upgrading using this
version and then upgrading using the latest version of the code completed
without errors. From the log I believe I am now on 4.2.10.

I’ll back up and restore the unupgraded database to reproduce the
complete error message.
~Joshua

upgrade-database.log (2.07 KB)

upgrade.log (11.3 KB)

testdeps.log (3.3 KB)

fixdeps.log (3.31 KB)

configure.log (2.48 KB)

config.log.txt (9.5 KB)