サポート » 使い方全般 » 既存カテゴリー、タグが出て来ず、新規追加も出来ない。

  • 解決済 hattrick47

    (@hattrick47)


    はじめまして。先日ME2.2.3から、日本語版2.5に移行させていただきました。

    phpMyadminから、MEのデータベースをエクスポートし、
    改めて2.5を新規インストールした後、データベースをインポートしました。

    投稿も、ウィジェットも、ほぼ問題なく使用出来ているのですが、
    すべての投稿からカテゴリーが外れ、「未分類」状態になってしまい、
    管理画面にも既存のカテゴリー・タグが表示されません。
    また、新規追加を試みると、「語句をデータベースに追加できませんでした」と表示され、
    一切追加する事が出来ません。
    phpMyadminから、「wp_categories」を見ると、データは存在しています。
    一旦「wp_categories」を「空(カラ)」にしてみましたが、やはり追加できません。

    サーバー:自宅(CentOS 4.5)
    MySQL:4.1.20
    php:4.3.9

    どうぞよろしくお願い致します。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • hattrick47さん、こんにちは。

    WordPress 2.3 からカテゴリ・タグ関連の DBテーブルが大きく変わり、wp_categories は使われなくなりました。(データベース変更履歴
    未分類になったり新規追加できないのは、WordPress 本体(ファイル)は 2.5 なのに、DB が 2.2.3 の構造のままになっているのが原因のようです。
    アップグレードスクリプトが動かせれば、2.5 用の DB に更新できるかと思います。

    次のことを教えてもらえますか?

    データベースのエクスポート/インポートは、全テーブル行ないましたか?wp_options テーブルを外したりしましたか?

    現在の wp_options テーブルで、option_name フィールドが「db_version」のデータを見ると、option_value フィールドの値は何になっていますか?「5183」とか「7499」とかの 4桁の数字です。

    トピック投稿者 hattrick47

    (@hattrick47)

    bonopsさん、こんにちは。早速のご返信ありがとうございます。

    なるほど、テーブル構造が変わっていたんですね。全く考慮しておりませんでした・・
    いただいたご質問につきまして、ご回答させていただきます。
     
     
    >データベースのエクスポート/インポートは、全テーブル行ないましたか?
    >wp_options テーブルを外したりしましたか?

    はい、全テーブル行いました(13テーブル)。

    1:「2.2.3」から、全テーブルをphpMyAdminでエクスポート。
    2:サーバーから、WordPressフォルダを一旦全削除。
    3:サーバーの同一pathに、「2.5」のWordPressフォルダを展開。
    4:phpMyAdminで、DBを削除。
    5:ブラウザからWordPressを再インストール。
    6:phpMyAdminで、新たに作成されたテーブル(10テーブル)を全て削除。
    7:「1:」でエクスポートしたsqlファイルを、phpMyAdminで、インポート。

    という手順です。
     
     
    >現在の wp_options テーブルで、option_name フィールドが「db_version」のデータを見ると、
    >option_value フィールドの値は何になっていますか?「5183」とか「7499」とかの 4桁の数字です。

    「7558」となっています。
     
     
    お手数をおかけいたしますが、どうぞよろしくお願い致します。

    分かりやすいご回答をありがとうございます。助かります。 🙂

    wp_options テーブルの「db_version」は WordPress DB のバージョンで、この値が古いときにアップグレードスクリプトが走ります。

    ・ WP 2.2.3 の場合は「5183」 (ME も同じ)
    ・ WP 2.5 の場合は「7558」 (日本語版も同じ)

    この値を下げればアップグレードスクリプトは動くのですが、一部謎&心配なところがあるので、次のことを教えてもらってもいいですか?

    • 手順 7 で DB を置き換えた後、サイト(or upgrade.php)にアクセスしたとき、アップグレードに関するメッセージは出ましたか?完了とか、不要とか。。
    • WordPress を使い始めたときのバージョン(ME 2.2.3 から?)
    • phpMyAdmin で見たとき、wp_posts テーブルに「post_type」フィールドがある?
    • 存在するテーブル名(13)
    • ME 2.2.3 エクスポートデータの 「db_version」 の値

    現在は wp_categories が空な状態だと思うので、今後の手順は次のように考えています。
    1. phpMyAdminでテーブルを削除
    2. phpMyAdminで、 ME 2.2.3 のエクスポートデータをインポート
    3. db_version の値を修正 (← 5183 でいいかもっと古くすべきか、上のお答えから判断)
    4. アップグレードスクリプトを実行

    トピック投稿者 hattrick47

    (@hattrick47)

    こんばんは。早速ご回答させていただきます。

    >手順 7 で DB を置き換えた後、サイト(or upgrade.php)にアクセスしたとき、
    >アップグレードに関するメッセージは出ましたか?完了とか、不要とか。。

    記憶が定かではありませんが、出なかったと思います。
    DB入替 ⇒ ブラウザでアクセス ⇒ 即記事反映
    といった感じでした(それですっかり安心してしまった記憶があります)。
     
     
    >WordPress を使い始めたときのバージョン(ME 2.2.3 から?)

    はい。今のデータはすべて構築当初からの入力データで、
    WordPress利用バージョンは「ME 2.2.3」です。
     
     
    >phpMyAdmin で見たとき、wp_posts テーブルに「post_type」フィールドがある?

    はい、あります。型はvarchar(20)です。
     
     
    >存在するテーブル名(13)

    wordpress (13)

     sk2_blacklist
     wp_categories
     wp_comments
     wp_link2cat
     wp_links
     wp_options
     wp_post2cat
     wp_postmeta
     wp_posts
     wp_sk2_logs
     wp_sk2_spams
     wp_usermeta
     wp_users

    の、計13テーブルです。
     
     
    >ME 2.2.3 エクスポートデータの 「db_version」 の値

    「5183」ですね・・

    前言を覆すようで恐縮ですが、この状況からすると、
    wp_options テーブルを外して、インポートしてしまったかもしれません。
    現在手元に残っているエクスポートデータは、

    a:ME 2.2.3 エクスポートデータ(全13テーブル・「db_version」5183)

    b:テスト環境内(XAMPP)の2.5で作成された、
      初期状態の「wp_options」テーブルのみのエクスポートデータ
      (全1テーブル・「db_version」7558)

    c:ME 2.2.3 エクスポートデータに、テスト環境内(XAMPP)の2.5で
      作成された、初期状態の「wp_options」テーブルを差し替えたもの
      (全13テーブル・「db_version」7558)

    です。
     
     
    >今後の手順は次のように考えています。

    自分の配慮と、知識の不足を痛感しております・・
     
     
    お手数ですが、引き続きよろしくお願い致します。

    おー、なるほど。c をインポートされたのかもしれませんね。
    a のデータは正しい 2.2.3 の構造・内容になっているようなので、これを使って、次のように行なってみるとどうでしょう。

    1. phpMyAdminで 13テーブル削除
    2. phpMyAdminで a のデータをインポート(db_version 5183、13テーブル)
    3. アップグレードスクリプトを実行 (ブラウザで http://example.com/設置ディレクトリ/wp-admin/upgrade.php にアクセス)
    4. サイト表示、カテゴリ、ログインなどを確認
    5. (できれば)phpMyAdmin で DB 構造が更新されているか確認

    5 は、存在するテーブル名がこう変わったこと(2.3 で変更)と、wp_posts テーブルの post_status が varchar(20) になっている(2.5 で enum 廃止)のを見るくらいで大丈夫かと思います。

    トピック投稿者 hattrick47

    (@hattrick47)

    bonopsさん、こんばんは。

    結果から申し上げますと、ご提案の通り「a」のデータで、
    上記の手順にて作業を実施しましたところ、無事アップグレードする事が出来ました。
    DBの構造もご指摘の通り変更されており、
    カテゴリーも完全に復活し、タグ機能も利用可能になりました。

    ※他にも、なぜかブログロールがサイドバーに表示されない、
     画像追加がうまく作動しない等、軽微な不具合があったのですが、
     アップグレード後、なぜか解消致しました。
     
     
    「2.5」はMEより安定していて、とても良いですね。
    bonopsさんのおかげで、これからもブログライフを満喫できそうです。
    また、自身の勉強不足にも気づく事が出来、感謝しております。

    最後までサポートいただき、本当にありがとうございました。

    hattrick47さん、お疲れさまでした!直ってよかったですー。
    画像の件は分かりませんが、ブログロールが表示されなかったのは、リンクカテゴリテーブルも変わった影響かもしれないですね。

    – – –
    このトピックを見た人が誤解されないように、念のため補足です:

    今回は、DB を元に戻すために、ご案内した手順に DBインポートが入っています。
    一般的には、ME → 本家版・日本語版への切り替えは(文字コードが UTF-8 であれば)通常のアップグレード手順で大丈夫かと思います。
    (「思う」というのは、ME の仕様を私が把握していないためです)

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「既存カテゴリー、タグが出て来ず、新規追加も出来ない。」には新たに返信することはできません。