Hi list,
Due to persistent memory problems I decided to try and upgrade to a
more recent version of RT. (RT 3.6 was installed on a xen VM running
Debian etch using the default apt package. In the mean time the
machine has been upgraded to Debian lenny, without side-effects for
RT. After the distro upgrade RT 3.8 was installed (again using apt).
The mysql db upgrade script was generated like this:
perl /usr/share/request-tracker3.8/etc/upgrade/upgrade-mysql-schema.pl
rtdb rtuser rt > rt-upgrade-mysql.sql
Unfortunately the upgrade script fails at line 210:
209 ALTER TABLE Users MODIFY Name VARBINARY(200) NOT NULL;
210 ALTER TABLE Users MODIFY Name VARCHAR(200) CHARACTER SET utf8 NOT NULL;
This is due to the fact that we have these records in the users database:
703 xxxxxxxxxe@customer.com
723 xxxxxxxxxé@customer.com
Both email addresses belong to the same person - the Users table
currently is using charset latin1.
What’s the best way to move forward?
- Should I alter the upgrade script to make the Name column accent sensitive?
- Alternatively I update all tables so they point to the same user
record and remove the conflicting one (but what will happen when a new
email from that address arrives?)
Regards,
Karel
Hi list,
Due to persistent memory problems I decided to try and upgrade to a
more recent version of RT. (RT 3.6 was installed on a xen VM running
Debian etch using the default apt package. In the mean time the
machine has been upgraded to Debian lenny, without side-effects for
RT. After the distro upgrade RT 3.8 was installed (again using apt).
The mysql db upgrade script was generated like this:
perl /usr/share/request-tracker3.8/etc/upgrade/upgrade-mysql-schema.pl
rtdb rtuser rt > rt-upgrade-mysql.sql
Unfortunately the upgrade script fails at line 210:
209 ALTER TABLE Users MODIFY Name VARBINARY(200) NOT NULL;
210 ALTER TABLE Users MODIFY Name VARCHAR(200) CHARACTER SET utf8 NOT NULL;
This is due to the fact that we have these records in the users database:
703 xxxxxxxxxe@customer.com
723 xxxxxxxxxé@customer.com
Both email addresses belong to the same person - the Users table
currently is using charset latin1.
What’s the best way to move forward?
- Should I alter the upgrade script to make the Name column accent sensitive?
- Alternatively I update all tables so they point to the same user
record and remove the conflicting one (but what will happen when a new
email from that address arrives?)
If accounts are duplicates then you can:
- rename all duplicates and leave only primary accounts unchanged, by
adding a “-duplicate” suffix or something like that
- apply the rest commands
Next time RT will use primary account cuz mysql treat e equal to é
when default collation is used.
If accounts are different and you don’t want to treat e equal to é
then you should adjust SQL commands the script generates and set
different collation for Name column, the same applies to EmailAddress.
Regards,
Karel
The rt-users Archives
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.