EC-CUBE Q & A
キーワードで検索
検索:
カテゴリから探す
フロント機能
ブロック編集
その他
モバイル
マイページ
商品詳細
商品一覧
管理機能
顧客管理
その他
受注管理
商品管理
システム管理
その他
EC-Orange 実績
EC-Orange 機能一覧
よくある質問
代理店の方へ
研究開発スタッフ
当社はプライバシーマークを取得しております。プライバシーポリシーは
こちら
からご覧ください。
質問と回答
1系から2系へのDB移行について
その他
2008/11/6 16:38
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=2971&forum=2
1系から、2系へ乗り換えたいのですが、
現在の商品登録情報・購入履歴・会員情報のみでいいのですが、DB情報は、そのまま使えるのでしょうか?
並べ替え等の変換等が必要なようでしたら、作業を依頼できる法人・個人があれば教えてください。
≫ EC-CUBEが重い、チューニングしたいなら EC-Orange
A. 回答
1系から2系へのDB移行について
への1件のコメント
admin
より:
2011年3月9日 4:24 PM
僕の環境で実際にうまくいった例なので、効率とかそういったことは全く考慮されていないことを念頭においてください 環境によってはうまくいかないこともありえます。作業される方はテストを十分行うなどし、自己責任でお願いします。 【前提】 ・MySQL4.1からPostgreSQL8.3にデータ移行します。 ・phpMyAdminとphpPgAdminをそれぞれ利用します。 ・現状のMySQLにインストールしているEC-CUBEの情報が、phpMyAdmin、EC-CUBE側の両方で文字化けせず閲覧可能である。 (phpMyAdminで見たときに文字化けが発生していると、エクスポートした情報も文字化けしている可能性が高いので、使いものになりません) ・データベースが違うので、同一サーバでも作業可能だと思います。 【作業の流れ】 ≪MySQLの作業です≫ (1)phpMyAdminにログインし、目的のデータベースに接続する。 (2)目的のテーブルにアクセスし、エクスポートをクリック。 (3)エクスポートで「MS Excel用のCSV」にチェックをいれ、 NULLの代替文字列「\\N」 「1行目にフィールド名を追加する」にチェック Excelのエディション「Windows」 に設定して「ファイルに保存する」にチェックをいれ「実行する」ボタンをクリックする。 するとダウンロードが始まるので、保存する。 (4)エクスポートしたテーブルの「次へ Autoindex」の値をメモしておく。中にはないものもあります(dtb_baseinfo等) ※後にPostgreSQLの「シーケンス値」にこの値を反映させる。 ※dtb_product_categoriesは1系にはテーブルがないので、 以下のSQLを発行して、結果をエクスポートしてダウンロードする。 SELECT product_id, category_id, rank FROM dtb_products (5)エクスポートしたファイルをテキストエディタで開く。 文字コードがUTF-8以外だったら、UTF-8で保存しなおす。 ※このとき、文字化けが発生しないように注意。 1行目にフィールド(カラム)名が挿入されているが、 フィールド名とフィールド名の間を区切るカンマ(,)に 半角スペースが入っているとphpPgAdminでインポートエラーになることがあるので、 「フィールド名, フィールド名…」となっていたら 「フィールド名,フィールド名…」という風に半角スペースを消しておく。 ————————————- ≪ここから下はPostgreSQL側の作業です。≫ (5)phpPgAdminにログインし、目的のDBへアクセスする。 (6)目的のテーブルのデータを空っぽにする。 (7)目的のテーブルにデータをインポートする。 その際、フォーマットはCSV、NULL文字は「\\N」にする。 (8)「インポートが完了しました」というようなメッセージが表示されれば完了。 エラーが発生したらエラー内容をよく見て修正し、 再度アップロードする。 (9)先ほどメモしておいた「次へ Autoindex」の値を、シーケンス値に反映させる。 結構地味な作業なので、エクセルなどで移行のための表をつくり、 地道に潰していった方が間違いがなくていいと思います。 効率を考えるならば他にももっと良い方法があるかもしれませんが、今のところ追いかけていないのでこの方法しか御説明できません。くれぐれもテストを十分してください。
1系から2系へのDB移行について への1件のコメント