From: Martin F. <mar...@gm...> - 2007-08-10 22:21:10
|
Hello, we want to provide a Wiki page describing the required upgrade steps for an update of an already existing Mantis database to the new Mantis 1.1.x version. This should handle the issues in using the now by default utilized UTF8 character encoding. There is already a preliminary version of the description text, which was mainly from a mail on the Mantis mailing list: http://www.mantisbt.org/wiki/doku.php/mantisbt:upgrade_to_utf8 The plan is to structure it as a step-by-step guide. Following is a sample outline proposed by Victor Boctor: 1. What is the issue? 2. Is my installation affected? 3. How to Upgrade? However there are quite a lot of conditions to take into account: - Are the contents of the previous database instance already UTF8-encoded? - Will the new database instance use UTF8 encoding? - Which encoding is using the PHP installation per default - is it UTF8? This affects how the text strings are stored in the current database before the migration. - Will the updated Mantis installation use UTF8-encoded language files or not? So to make the procedure a bit easier - what do you think about an upgrade path describing a few attempts with/without encoding while upgrading the database contents? At first the database is backed up, so that it can be restored after any unsuccessfull try. By providing a way to look at sufficient test data it would be possible to judge about the result of each attempt and wether to go on to the next possibility. Should the description also handle how to procede if the previous installation already used a 1.1.0x Mantis version - like that one at www.mantisbt.org? I'd like to say this need not a must, it's enough to support upgrading from the official stable Mantis releases (1.0.x). What do you think about this issues regarding the upgrade? Any comments and contributions to the upgrade description are welcome. Regards, Martin |
From: Gianluca S. <gi...@gm...> - 2007-08-12 17:36:11
|
On 8/11/07, Martin Fuchs <mar...@gm...> wrote: > What do you think about this issues regarding the upgrade? Any > comments and contributions to the upgrade description are welcome. I agree on the step-by-step guide, but I also think that we should at least attempt to put together a script in /admin, with a sort of "wizard" procedure for helping the user in the transition. Basically, we should determine if each step in the guide is scriptable, then put everything together and do some real world tests to see how it comes out. Anyway, thank you very much for working on this |
From: Jeferson O. <jef...@gm...> - 2007-09-20 23:14:54
|
Gianluca Sforna wrote: > Basically, we should determine if each step in the guide is > scriptable, then put everything together and do some real world tests > to see how it comes out. As I can't see a way to create a reliable script to convert the charset of a MySQL 4.0 database to a MySQL 4.1+ one, I'll attempt to contribute reporting the steps I did to upgrade do Mantis 1.1.x: When I've posted the message in the following URL http://article.gmane.org/gmane.comp.bug-tracking.mantis.localization/382 I was testing the conversion in a Mantis installation without records in the mantis_bug_file_table. Yesterday I have converted a bigger mantis installation with thousands of records in mantis_bug_file_table and after convert the backup file to utf8 using iconv, just some records was imported and then the process (mysqldump) stopped without any error message. I think that the cause is that the convertion to utf8 has changed some BLOB fields contents, turning them unreadable by the server. What I did to convert the database was: In the old database server (MySQL 4.0): 1) Export only mantis_bug_file_table: mysqldump -uUser -ppassword bugtracker mantis_bug_file_table > mantis_bugfile_latin1.sql; 2) Export all tables but mantis_bug_file_table (using phpmyadmin export feature); 3) Convert the file with all tables to utf8: iconv -f latin1 -t utf-8 backup_latin1.sql > backup_utf8.sql; In the new database server (MySQL 5.0.18): 1) Create a new database: CREATE DATABASE `bugtracker` DEFAULT CHARACTER SET utf8; 2) Import mantis_bug_file_table separately: mysql -uUser -ppassword bugtracker < mantis_bugfile_latin1.sql; 3) Import all other tables mysql -uUser -ppassword bugtracker < backup_utf8.sql; In this point I have lost part of the contents of the "filename" field of the mantis_bug_file_table that contained accent characters, from the position of the first accented character to its end. Example: Conclusão.JPG has become Conclus As I was tired of that task, and as the customer doesn't care about the filename I have just added the missing extension (.JPG in all cases) to the trimmed records. I'm now (finally) officially converted to 1.1.0a4. :) Regards, Jeferson Oliveira Brazil Sent by Mozilla Thunderbird http://br.mozdev.org/thunderbird |
From: Gianluca S. <gi...@gm...> - 2007-09-21 07:51:37
|
On 9/21/07, Jeferson Oliveira <jef...@gm...> wrote: > Gianluca Sforna wrote: > > Basically, we should determine if each step in the guide is > > scriptable, then put everything together and do some real world tests > > to see how it comes out. > > As I can't see a way to create a reliable script to convert the charset > of a MySQL 4.0 database to a MySQL 4.1+ one, I'll attempt to contribute > reporting the steps I did to upgrade do Mantis 1.1.x: > Thanks for your report. I've just added a new section to the page: http://www.mantisbt.org/wiki/doku.php/mantisbt:upgrade_to_utf8 for more resources about database conversion |