mantis 1.0.Xから1.1.Xへ移行



1.0.xのデータベースがlatin1でできちゃってる場合には
utf-8に変換してやる必要あり。

また、バイナリデータを保存しているテーブルは
別に吐き出して、テキストデータのテーブルのみ
文字コードの変換を行う。

なお、文字コードの変換にはnkfを使用しました。

#バイナリ保存テーブル出力
mysqldump -uroot -pPassWord dbname --tables mantis_bug_file_table mantis_project_file_table --default-character-set=latin1 > mantis_file_table.sql

#テキスト保存テーブル出力
mysqldump -uroot -pPassWord dbname --tables mantis_bug_history_table mantis_bug_monitor_table mantis_bug_relationship_table mantis_bug_table mantis_bug_text_table mantis_bugnote_table mantis_bugnote_text_table mantis_config_table mantis_custom_field_project_table mantis_custom_field_string_table mantis_custom_field_table mantis_filters_table mantis_news_table mantis_project_category_table mantis_project_hierarchy_table mantis_project_table mantis_project_user_list_table mantis_project_version_table mantis_sponsorship_table mantis_tokens_table mantis_user_pref_table mantis_user_print_pref_table mantis_user_profile_table mantis_user_table --default-character-set=latin1 > mantis_laten.sql

#アップグレードを実行している場合は、テキスト保存テーブルに
#mantis_upgrade_tableを追加
mysqldump -uroot -pPassWord dbname --tables mantis_bug_history_table mantis_bug_monitor_table mantis_bug_relationship_table mantis_bug_table mantis_bug_text_table mantis_bugnote_table mantis_bugnote_text_table mantis_config_table mantis_custom_field_project_table mantis_custom_field_string_table mantis_custom_field_table mantis_filters_table mantis_news_table mantis_project_category_table mantis_project_hierarchy_table mantis_project_table mantis_project_user_list_table mantis_project_version_table mantis_sponsorship_table mantis_tokens_table mantis_user_pref_table mantis_user_print_pref_table mantis_user_profile_table mantis_user_table mantis_upgrade_table --default-character-set=latin1 > mantis_laten.sql

#念のため、内容確認
#nkf -gess mantis_file_table.sql
#>BINARY
#nkf -gess mantis_laten.sql
#>EUC-JP

#Create文のlatin1をutf8に変更
sed -i "s/latin1/utf8/g" mantis_file_table.sql
sed -i "s/latin1/utf8/g" mantis_laten.sql

#テキストを保存しているテーブルのダンプを文字コード変換
nkf -w mantis_laten.sql > mantis_utf.sql

#テーブル作成
mysql --user=root --password=PassWord --execute="DROP DATABASE dbname; CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;"

#バイナリ保存テーブルのダンプをインポート
mysql --user=root --password=PassWord --default-character-set=utf8 dbname < mantis_file_table.sql

#文字コードを変換したテキスト保存テーブルのダンプをインポート
mysql --user=root --password=PassWord --default-character-set=utf8 dbname < mantis_utf.sql

#ユーザが使用する言語を日本語に変換
mysql --user=root --password=PassWord --execute="update dbname.mantis_user_pref_table set language = 'japanese';"


#config_inc.phpを適当に編集

$g_default_language = "japanese";
$g_short_date_format = 'Y-m-d';
$g_normal_date_format = 'Y-m-d H:i';
$g_complete_date_format = 'Y-m-d H:i T';

$g_time_tracking_enabled = ON;
$g_time_tracking_with_billing = ON;

$g_preview_attachments_inline_max_size = 1024000;
$g_preview_text_extensions = array( 'txt', 'diff', 'patch' );

$g_cookie_path = '/sitename';

http://host/site/admin/
にアクセスして、Upgrade your installation を選択

この手順で、1.0.xを1.1.xにアップグレードできました。


もどる