MySQL 4.1 and greater implemented changes in character set handling
that may result in RT failures: multiple login requests, binary attachments
breakage, image custom fields breakage and other.

In order to resolve this issue we've changed our schema for mysql 4.1 and greater
versions.

If you're installing new RT then you can skip this file.

If you're migrating from MySQL 4.0 to MySQL 4.1 and newer then you MUST follow
instructions at the bottom of this file.

If you're upgrading RT from versions prior to 3.8.0 then you MUST follow
instructions below.

=== Upgrading RT from versions prior to 3.8.0 ===

1) Backup RT database. It's really good to test that you can restore from
   this backup.

2) Follow instructions in the README file to the step 7).

3) Apply changes described in the seven step, but only up to version 3.8.0.

4) Apply mysql 4.0->4.1 schema changes. RT tarball has script
etc/upgrade/schema.mysql-4.0-4.1.pl that generates SQL queries to upgrade schema of
the DB. Run it:

    perl etc/upgrade/schema.mysql-4.0-4.1.pl db user pass > sql.queries

5) Check sanity of sql queries yourself or consult with your DBA

6) Apply queries. Note that this step can take a while. May require additional
   space on your hard drive comparable with size of your tables.

    mysql -u root -p rt3 < sql.queries

NOTE that 'rt3' is the default name of the RT DB, change it in the command above
if you're using different name.

This step shouldn't produce any errors or warnings, but if you see some then revert
DB from backup you made at step 1) and send report to the
rt-users@lists.bestpractical.com mailing list.

7) Return to the step 7 from README and apply other upgrade scripts and follow
other steps.

8) Test everything. The most important parts you have to test:
* binary attachments, like docs, pdfs, images and other
* binary custom fields
* everything that may contain not ascii characters

=== Migrating from MySQL 4.0 to MySQL 4.1 and newer ===

Many people want to do migrate from one server and upgrade RT in one step
what is really not that good idea as become more complicated, more time consuming,
more chances to fail, much harder to debug.

It's better to split in two steps. At first upgrade mysql from 4.0 to 4.1 or newer.
Test for a while that everything works just fine. There are some rules you must
remeber in this case:

* don't use utf8 as default mysql's character set, it's default in some
  distributives
* import/export mysql dumps using binary character set

When you're sure that everything is fine. You can upgrade RT using instructions
above.

If you still want to make upgrade of mysql and RT at once, then you can do the
following:

1) Install new RT on mysql 4.1 or newer.
2) Test that this new clean RT works on this new DB server.
3) Dump DB from mysql 4.0.
4) Configure mysql 4.1 and newer to use latin1 as default character set
   everywhere.
5) Import dump into new mysql server replacing your empty DB you created
   at step 1.
6) At this point you have RT 3.8.x code base pointing to not upraged DB then
   you can upgrade RT using instructions above.

