Schema issues upgrading from rt 3.6.5 to 3.8.0

I’m having some errors when I attempt to update my RT database schema on
my RT server. My RT server was running 8.04 with rt3.6* packages
provided by the ubuntu community.

I have since removed the rt3.6 binaries, but left the database and
configurations in place, and followed the upgrade procedures in the
documentation.

However, I am getting an error when I try to update the schema using
this command:

/opt/rt3/sbin/rt-setup-database --action schema --datadir
etc/upgrade/3.7.1/ --dba root
Working with:
Type: mysql
Host: localhost
Name: rtdb
User: rtuser
DBA: root
Now populating database schema.
Couldn’t finish ‘schema’ step.

ERROR: Couldn’t find schema file(s) ‘*’

So I tried changing it to:
/opt/rt3/sbin/rt-setup-database --action schema --datafile
etc/upgrade/3.7.1/content --dba root

Working with:
Type: mysql
Host: localhost
Name: rtdb
User: rtuser
DBA: root
Now populating database schema.
DBD::mysql::st execute failed: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the
right syntax to use near '@ScripConditions = (
{ Name => ‘On Close’, ’ at line 1
at /opt/rt3/sbin/…/lib/RT/Handle.pm line 463.

Mysql version is: mysqld Ver 5.0.51a-3ubuntu5.1 for debian-linux-gnu on
i486 ((Ubuntu))

Any help would be greatly appreciated.

I’m having some errors when I attempt to update my RT database schema on
my RT server. My RT server was running 8.04 with rt3.6* packages
provided by the ubuntu community.

I have since removed the rt3.6 binaries, but left the database and
configurations in place, and followed the upgrade procedures in the
documentation.
Which documentation?

However, I am getting an error when I try to update the schema using
this command:

ERROR: Couldn’t find schema file(s) '*'
There is no schema upgrade for 3.7.1. So it can not find a file. Move
to next command.

So I tried changing it to:
/opt/rt3/sbin/rt-setup-database --action schema --datafile
etc/upgrade/3.7.1/content --dba root

wrong thing to do. you try to apply “content” file as schema update
what is totally wrong.


http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

Best regards, Ruslan.

I answered my own question.

I didn’t read enough in the news groups, sorry guys.

The answer was posted by Ruslan Zakirov:

Let’s make it clear:

  • you still must upgrade DB using files in etc/upgrade/x.x.x/
  • however in 3.8.0 you can do it using one command:

rt-setup-database --dba root --prompt-for-dba-password --action upgrade

it will ask for the old version (for example you can enter 3.6.7) and
will apply all steps up to the installed version (in this case it’s
3.8.0)

  • then you do mysql schema changes using the script

  • these schema changes are required for all mysql versions greater
    than mysql 4.1.0

  • people installing for the first time will get new DB schema as there
    are two different schema files for mysql in etc/, so they don’t need
    to do all these steps

  • people upgrading mysql server from 4.0 to 4.1 and newer should use
    the script two

  • I tested this script several times, but only on my dev PC, so it’s
    VERY recommended to backup and make tests

Clear?

Chris Crow wrote: