本屋

カスタムフィールドの画像データがバックアップから復元出来ない

0

別サーバーにウェブページごと移行したいのですが、
移行先のドメイン名やパスが違うせいか、
カスタムフィールドで投稿している画像データが
バックアップからうまく復元出来ません。

具体的な状態としましては、下記の通りです。
・アイテムは復元出来ている
・カスタムフィールドには、画像ではなくなぜか画像へのリンクテキストが表示さている
※ リンク先にはきちんと画像が復元されている
・しかし「公開」を押しても画像は出力されない
・管理画面で再度画像をアイテム一覧から選択し直せば表示される

リファレンスには下記のような記載があります。
これはてっきり同じMTバージョンで行ってくださいという意味かと考えていたのですが、違うのでしょうか?

「バックアップファイルは、必ずバックアップを行った Movable Type と同じ環境で復元してください。」
http://www.movabletype.jp/documentation/mt5/tools/backup.html

ウェブページの複製を別サーバで行いたいのですが、
バックアップ機能を使う以外でより良い方法はありますか?
よろしくお願いします。

返信(7)

| 返信する
  • >本屋さん
    こんにちは。

    以下のプラグインを試してみてください。

    http://blog.takeyu-web.com/mt/2014/04/entryexporterversion-09.html

    もっとも、本来ならバックアップと復元の機能で復元できるはずなので、データベースに何か不整合が起こっているのかもしれません。

    • >壱さん
      お返事ありがとうございます。

      そちらのプラグインはすでに使用してみたのですが、
      以下の様なエラーが出てエクスポートが出来ませんでした。

      Archive::Zip is required.

      Zipが必須とはどういうことなのでしょうか?
      そういえば、バックアップの際の選択肢「圧縮」の項目に
      他の方が説明しているようなZipで圧縮機能がありませんでした。

      もしかして本来必要なプラグインを
      私が間違って削除している可能性がある気がします。

      このZipの問題は、DBの問題とは別かとは思いますが…
      ひとまずこちらのプラグインを使用出来るよう
      Zip圧縮機能について調べなおしてみます。

  • >本屋さん
    こんにちは。

    そのエラーメッセージは、「(Zipで圧縮するために)PerlのArchive::Zipが必須である」という意味です。
    サーバーにArchive::Zipモジュールがインストールされていないことになります。
    サーバーの業者に、Archive::Zipモジュールをインストールしてもらえないかどうか、問い合わせてみてください。

    • >壱さん

      なるほど…!
      わかりました。問い合わせてみます。
      ありがとうございます。

      こちらのプラグインで解決出来れば、ひとまずは良いですが、
      なぜ基本のバックアップ機能から復元出来ないのかわかりません。

      そもそも、画像のURLがバックアップしてきたサーバーのURLのままになっています。
      自動で変わってくれないのがデフォルトなのかと思っていたのですが、
      もしかしてこの時点でおかしいのでしょうか?

      しかし、そもそも別サーバのURLだったとしても
      リンク先にはしっかり存在しているので、
      管理画面で表示されない理由もわかりません。

      この話を聞いて、何かお気づきの点はございますか?
      重ね重ね申し訳有りませんが、よろしければ引き続きアドバイスをお願いいたします。

  • >本屋さん
    こんにちは。

    アイテムのテーブルには、ブログ(ウェブサイト)からの相対パスで情報が記録されていますので、復元先の設定に合わせて、画像のURLも自動的に変わるはずです。
    そうなっていないとすると、何かおかしい状況だと思います。

    しかるべき人に依頼して、データベースを一度調査してもらった方が良いと思います。

    • >壱さん
      お疲れ様です。
      現在、サイトのフロントエンド側は私が請け負っている状態でして…
      「しかるべき人」はつまり自分のことなので、なんとか自力で解決したいと思います。

      調べてみたところ。
      アイテムは自動で絶対パスで挿入されるため、
      相対パスにするにはプラグインか何か対策を取らないといけないようです。

      通常通りの動きであるものの、
      最初に相対パスにするなどの対策してなかったせいかもしれません…。
      DBを全て書き換えるのはちょっと厳しいので、
      受け取ったURLを自動で相対パスに出来ないか調べてみます。
      もしくは、バックアップファイルのxmlを相対パスに書き換える等…
      なんとか対策を練ります。

      解決出来ましたら、またご連絡させていただきます。
      長々とありがとうございました。

  • >壱さん

    不要かもしれませんが、いい等ご報告をさせていただきます。

    プラグイン使ってみたんですが…
    こちらはカスタムフィールドには対応されていないようですね。
    記事のURLは自動で書き換わってくれたのですが、
    カスタムフィールドの値は全て空でした。

    また、バックアップのxmlファイルのURLを変更してみたんですが、
    結局最初の状態と同じ結果におわりました。
    カスタムフィールドの画像がテキストリンクで表示されてしまう状態です。

    カスタムフィールドの画像の保存先URLが、
    ただのURLとして認識されてるみたいで、
    画像ファイルとしては認識されてないようです。

    アイテムであることを関連付ける何かが、
    足りてないのかもしれません。
    可能な限り、DBの中を確認してみたいと思います。

返信する


OpenID対応しています OpenIDについて