とりあえずメモっておくか…
【移行前の環境】
MovableType 2.66
PostgreSQL 8.0.3
文字コードはutf8
【移行後の環境】
MovableType 3.2
MySQL 4.1.12
2.6系の環境は稼働中なので、MT3.2用にディレクトリを用意してそこにMT3.2を新規インストール。移行が全て完了したら、MT3.2のディレクトリをWebに公開するように切り替える手順で。
まずは、PostgresからMySQLへの移行を先にやらないと面倒そうなんでそれを先にやることに。
(1)MT2.66の環境で、utf8の文字化けを防止するコードを追加(※1)
(2)MT2.66の環境で、DBの接続先をPostgresからMySQLに変えて、mt-load.cgiを実行してMySQLにテーブルを作成。
(3)Postgres管理ツールのphpPgAdminでMTのデータをダンプ。このときSQL形式でダンプしておく。
(4)MySQLに作成したテーブルにある初期データ(レコード)を全て削除(truncateする)
(5)MySQL管理ツールのphpMyAdminでPostgresからダンプしたデータをインポート
(6)MT2.66の管理画面からデータがちゃんとインポートできてるか確認
PostgresからMySQLの移行のあとに、MTのバージョンアップ
(1)mt-config.cgiで"SQLSetNames"を1にする
(2)MT3.2の環境で、mt-upgrade.cgiを実行して、DB形式を2.6系から3.2系に変換
(3)MT2.66の環境から独自にインストールしたプラグインをMT3.2の環境にもインストール
(4)MTの管理画面でWeb公開のURLパスなどを今のMT3.2の環境に合わせて変更
(5)すべての再構築を実行して、エラーが発生しないことを確認
(6)ディレクトリ名をMT2.66のと交換し、Webに公開可能にする
(7)もう一度すべての再構築を実行して、MT3.2の環境を公開
(※1)MySQL4.1系の場合はutf8のデータを取り出すと2バイト文字が文字化けして"????"みたいになる。このサイトで紹介されてるように、コードを一行追加して化けないようにしておく。
コメント