返信する: d3diaryサポート板


オプション

参照

Re: EUC+PHP4で動いているd3diaryをUTF+PHP5のサーバに移転する際の不具合
投稿者: なーお 投稿日時: 2012/9/11 1:15

souka431 さん

どうやら原因がわかりました。
(きっと旧サーバー上で0.18同士のデータ移行も失敗するだろうと思って先回りしてみました)

おそらく、minidiaryからd3diary-0.18にインポートした時点で、configテーブルとcategoryテーブルがきちんとインポートできていないためと思われます。 (インポートスクリプトの不具合)

ちょっと今、出張先なので、ちゃんとした対応ができないのですが、取り急ぎ以下を試してみていただけますか? 最初にminidiaryをインポートする旧サーバー上のd3diary-0.18の

xoops_trust_path/modules/d3diary/include/import_functions.php を、以下のものに差し替えてから、minidiaryからのインポートからやり直してみてください。

fileimport_functions.php

もし、d3diaryへのインポート後にデータ追加されているということでしたら、minidiaryからの再インポートはできないでしょうから、 その場合は動作中のd3diaryのconfigテーブルとcategoryテーブルの全てのデータを、再度保存し直すことで正規化する必要があるかもしれません。 データ数が半端無く多くてそれも大変、ということでしたら、一括変更のSQLを作って実行するか、ダンプしたSQLを編集する形が良いかもですので、その場合はまたお知らせください。

お手数をおかけしますが、よろしくお願いします。

(追記)念のためですが、UTF8環境の新サーバーへ旧データを移行する場合は、旧データのダンプファイルの中身はUTF8に文字コード変換していると思いますが、 上記変更後のダンプデータでも失敗する場合は、変換データに問題があるケースもあるかもしれませんので、失敗するテーブルはデータを分割して少しずつインポートしてみるとか、そんなこともやってみる必要があるかもしれません。

(更に追記)ver0.18以降は、最新のver0.24でもDB構造に変更ない気がするので、もしかすると上記変更後の0.18からのダンプデータを、0.24にインポートできるかもしれません。