Xoopsモジュール版のWordPressME(version0.31)から、最新のWordPressME(2.0系、2.2系両方)にデータを移行する最適な方法を教えてください。

単純に、最新版のWordpressをインストールしてから、WordPressMEのDB周りをごそっとコピーすればいいと思ったのですが、DB構造が大分違うようです。XoopsモジュールのWordPressMEにはデータエクスポート機能もないようですし、admin/install.phpからDB構造を更新し様にも、Xoopsモジュール版にはその機能はないようです。
ちなみに、現在のMySQLの文字コードはEUC-JPに設定していますが、将来的にUTF-8に変更しようと考えています。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2007/08/13 15:50:31
  • 終了:2007/08/20 15:55:04

回答(4件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402007/08/13 15:55:38

ポイント23pt

2.0 系への移行しか試していませんが、データの全コピー後、

admin/upgrade.php

を実行すればDBをアップグレードしてくれます。

現行の ME 2.0.10 ではバグがあるようで、アップグレード後の文字コード設定が UTF-8 になってしまいますが、管理画面から再度 EUC_JP に変更すれば問題ありません。

WordPress Japan

id:smileless

ありがとうございます。

試してみましたが、

admin/upgrade.php

というファイルはないようです。

そこで、

wp-admin/upgrade.php

を実行してみたのですが、

This function is not available in XOOPS Environment.

とでました。

どうやら、xoops版のWordPressMEにはこの機能は実装されていないようです。

2007/08/13 16:10:04
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402007/08/13 16:51:38

ポイント23pt

どうやら、xoops版のWordPressMEにはこの機能は実装されていないようです。

順番が逆。


単体の ME に入れ替えてから wp-admin/upgrade.php を実行する。

WordPress Japan

id:smileless

えーっと、単体のMEに入れ替える方法でスマートな方法をまず質問しているのです。

1番目のご回答の、

>データの全コピー後、

の部分を詳しく教えていただけないでしょうか。

Xoopsモジュール版のDB構造と、単体ME版のDB構造が大分違うので、どのように移行すべきか?というところなのですが・・・。

もしかして、単体2.0系をインストールする前にもっと古い単体MEをインストールしますか?

単体MEの古いバージョンってダウンロードできましたっけ?

ダウンロードできるのであれば、Xoopsモジュール版のバージョン0.31に対応した単体MEのバージョンを教えていただきたいです。

2007/08/13 17:03:42
id:b-wind No.3

b-wind回答回数3344ベストアンサー獲得回数4402007/08/13 17:04:17

ポイント22pt

話を整理します。


まず、XOOPS 版では何もする必要は無い。DBのバックアップを取っておくだけ。

あなたが最初にやったように ME2.0 をそのまま導入し、XOOPS 版のDBをごっそりとコピーする。


このDBは当然該当のMEには対応していないので、wp-admin.php を実行する。

これにより、該当の ME の対応した構造に変換する処理が行われる。

人力検索はてな

あとは先ほど説明したWP自体の文字コードの設定を変更すれば移行完了。

id:smileless

たびたびありがとうございます。

すみません。勘違いしていました。

>XOOPS 版のDBをごっそりとコピーする。

つまり、Xoops版と単体版では下記のようなテーブルをそれぞれそ使用していますが、

まず、単体版をインストールし、テーブルを削除した上で、Xoops版のテーブルを持ってくる。

例) create table wp_categories as select * from xoops.xoops_wp_categories;

と認識してよろしいでしょうか。

そして、wp-admin/upgrade.phpを実行すればよい、のですね?

その場合、Xoops版と単体版で対応するテーブルは下記の(n)で合っていると思うのですが、

●Xoops版WordPressMe0.31のテーブル一覧

xoops_wp_categories(1)

xoops_wp_comments(2)

xoops_wp_linkcategories(3)

xoops_wp_links(4)

xoops_wp_optiongroup_options

xoops_wp_optiongroups

xoops_wp_options(5)

xoops_wp_optiontypes

xoops_wp_optionvalues

xoops_wp_post2cat(6)

xoops_wp_posts(7)

xoops_wp_users(8)

●WordPressMe2.2系のテーブル一覧

wp_categories(1)

wp_comments(2)

wp_link2cat(3)

wp_links(4)

wp_options(5)

wp_post2cat(6)

wp_postmeta

wp_posts(7)

wp_usermeta

wp_users(8)

Xoops版の

xoops_wp_optiongroup_options

xoops_wp_optiongroups

xoops_wp_optiontypes

xoops_wp_optionvalues

テーブルについては移行の必要なしで、

単体版の

wp_postmeta

+------------+--------------+------+-----+---------+----------------+

Field Type Null Key Default Extra

+------------+--------------+------+-----+---------+----------------+

meta_id bigint(20) PRI NULL auto_increment
post_id bigint(20) MUL 0
meta_key varchar(255) YES MUL NULL
meta_value longtext YES NULL

+------------+--------------+------+-----+---------+----------------+

wp_usermeta

+------------+--------------+------+-----+---------+----------------+

Field Type Null Key Default Extra

+------------+--------------+------+-----+---------+----------------+

umeta_id bigint(20) PRI NULL auto_increment
user_id bigint(20) MUL 0
meta_key varchar(255) YES MUL NULL
meta_value longtext YES NULL

+------------+--------------+------+-----+---------+----------------+

については、そのまま空で残しておく、と考えればよろしいでしょうか?

現在実行できる環境にないので、後ほどテストしてみます。

2007/08/13 17:48:25
id:takipon No.4

takipon回答回数168ベストアンサー獲得回数92007/08/15 23:40:16

ポイント22pt

少し回答がずれてしまうかもしれませんが、情報として。

WordPressモジュール (0.3.3d, 0.5.0)からWordpress 2.2.1モジュールにアップデートして、それから単体版にデータ移行出来るかも。

Wordpress 2.2.1 as a Modul for XOOPS

http://www.xoops-magazine.com/modules/wordpress/2007/07/25/wordp...

ダウンロード

http://www.xoops-magazine.com/modules/PDdownloads/viewcat.php?op...

試してないのでわからないのですが、うまく移行できなかったらすいません。

id:smileless

ありがとうございます。

Xoopsモジュール版は0.33以降、出ていないものだと思っていました。

試してみますね。

2007/08/16 09:37:13
  • id:smileless
    やってみましたが、下記のような状態でしっかり移行することができませんでした。
    もう少し研究してみます。

    単体WordPressMEは2.0系を選択しました。
    で、インストール後、移行が必要となるテーブルをXoops版の内容にしました。

    削除(必要な項目だけ)
    drop table wp_categories;
    drop table wp_comments;
    drop table wp_post2cat;
    drop table wp_posts;

    データ移行(必要な項目だけ)
    create table wp_categories as select * from xoops.xoops_wp_categories;
    create table wp_comments as select * from xoops.xoops_wp_comments;
    create table wp_post2cat as select * from xoops.xoops_wp_post2cat;
    create table wp_posts as select * from xoops.xoops_wp_posts;

    その後、upgrede.phpを実行しました。
    下記のように、エラーなく終了します。
    ----
    Step 1
    このプロセスだけですべての作業が完了しました。 では引き続きお楽しみ下さい。
    ----

    しかし、管理画面から記事の内容を見ることはできますが、下記のようなエラーが出ています。

    WordPress database error: [Unknown column 'post_date_gmt' in 'where clause']
    SELECT max(post_date) FROM wp_posts WHERE (1=1) AND YEAR(post_date)=2007 AND MONTH(post_date)=07 AND post_date_gmt <= '2007-08-13 09:37:59' AND (post_status = 'publish' OR post_author = 1 AND post_status != 'draft' AND post_status != 'static') AND post_status != 'attachment' GROUP BY year(post_date), month(post_date), dayofmonth(post_date) ORDER BY post_date DESC LIMIT 30,1

    WordPress database error: [Unknown column 'post_date_gmt' in 'where clause']
    SELECT min(post_date) FROM wp_posts WHERE (1=1) AND YEAR(post_date)=2007 AND MONTH(post_date)=07 AND post_date_gmt <= '2007-08-13 09:37:59' AND (post_status = 'publish' OR post_author = 1 AND post_status != 'draft' AND post_status != 'static') AND post_status != 'attachment' GROUP BY year(post_date), month(post_date), dayofmonth(post_date) ORDER BY post_date DESC LIMIT 39,1

    WordPress database error: [Unknown column 'post_date_gmt' in 'where clause']
    SELECT DISTINCT * FROM wp_posts WHERE 1=1 AND YEAR(post_date)=2007 AND MONTH(post_date)=07 AND post_date_gmt <= '2007-08-13 09:37:59' AND (post_status = 'publish' OR post_author = 1 AND post_status != 'draft' AND post_status != 'static') AND post_status != 'attachment' AND post_date >= '' AND post_date <= '' GROUP BY wp_posts.ID ORDER BY post_date DESC

    また、管理画面のコメントの部分に

    WordPress database error: [Unknown column 'comment_count' in 'field list']
    SELECT comment_count FROM wp_posts WHERE ID = '444'

    というエラーが出ています。
    管理画面の投稿から、表示、とすると、本文が見えます。
    でも、Blogページには、本文が表示されず、エラーメッセージが表示されています。


    WordPress database error: [Unknown column 'post_mime_type' in 'field list']
    SELECT ID, post_date, post_title, post_mime_type, guid FROM wp_posts WHERE post_status = 'attachment' AND post_parent = '444' ORDER BY post_date_gmt DESC LIMIT 0, 10

    Warning: Cannot modify header information - headers already sent by (output started at C:\apache\htdocs\wp2\wp-includes\wp-db.php:104) in C:\apache\htdocs\wp2\wp-includes\pluggable-functions.php on line 274
  • id:b-wind
    >WordPress database error: [Unknown column 'post_date_gmt' in 'where clause']

    DB構造が旧バージョンのままのようです。upgrade 作業がうまくいっていないですね。

    移行の必要の有り無しは自分で判断せず、全部のデータを入れなおす方がうまく行くと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません