MagentoからWelcartへの会員情報の移行

Magentoで運用されているクライアントのサイトから、会員情報をエクスポートしてWelcartへ移行する、ということを行いました。
調べたとき、どんぴしゃの情報ってあまりなかったので、備忘録的に記録しておこうと思います。

 

(1)CSVエクスポート

まず、Magentoからの会員情報のエクスポートは、システム>インポート/エクスポート>エクスポート で、customerを選択してcsv形式でダウンロードしました。

次に、Welcartでテスト登録しておいた会員情報を、PHPMyAdminからCSV形式(UTF-8のセミコロン区切り)でエクスポートしダウンロードします。
→「wp_usces_member」テーブルをエクスポートするだけです。(参考:http://qiita.com/knife0125/items/6c3540d1337a4cd4d849

最初はExcel形式のCSVでエクスポートしたのですが、最終的にUTF-8(エンコードなし)のCSV形式でのエクスポートで着地しました。

 

(2)UTF-8形式が扱えるCSVエディタをインストール

参考)http://matome.naver.jp/odai/2135167399342052801

参考記事から、いくつかインストールしたのですが、「Kuto Csv Editor」で落ち着きました。

MySQLはUTF-8だし、ExcelはShift-JIS形式なのと、住所が半角ハイフン入りの番地表記だった場合に「1-1-1」とかがDateTimeとみなされて自動変換されてしまうのがイヤだったので、このエディタで作業しました。普通にセルを複数選択してコピペもできます。

ただ、テーブルのキー(ID)が数字の連番なのですが、Excelのようにセルをドラッグで連番生成ができないので、これはEcxelで作ってからセル選択コピー→ペーストしました。

 

(3)Welcart移行用CSVデータ整形

UTF-8対応のテキストエディタ(今回はNoEditor)で、Welcartの「wp_usces_member」テーブルエクスポートCSVを開きます。
区切り文字が「;」(セミコロン)なので、これを「,」(カンマ)へ置換して別名保存します。

置換後のCSVを、「Kuto Csv Editor」で開きます。

MagentoのCSVデータはshift-jis出力していたので、Excelで開いて必要な列ごとにコピーして、「Kuto Csv Editor」へ移植していきました。(名前や住所、電話番号など)
このとき、もともと存在する行データがあってもかまいません。(PHPMyAdminでインポートするとき、重複データを無視するよう設定してインポート)

登録日時が、Magentoエクスポートだと「2015/1/26 3:13:02 PM」のような形式で、WelcartはDatetime形式の「2015-04-13 14:55:30」なので、Excel上でセル書式をユーザ定義スタイルで「yyyy-mm-dd H:mm:ss」に定義してスタイル修正後、セルコピーして移植しました。

編集が完了したら保存し、テキストエディタ(NoEditorなど)で開き直し、「,」(カンマ)から「;」(セミコロン)へ置換して保存します。これが、Welcartの「wp_usces_member」テーブルへのインポート用CSVデータになります。

重要:このとき、パスワードのデータは移植せず、その列はNULLのままにしておきます。そうすると、インポート後にログインしてみるとパスワードに何を入れても認証が通りませんので、パスワードの再発行でメールを送信して、そのリンクから新しいパスワードを登録できますので、会員様にはその旨、アナウンスしておきましょう。

 

(4)「wp_usces_member」テーブルへインポート

PHPMyAdminからインポートします。「テーブルデータを差し替える」オプションつきでインポート、で完了しました。

参考:http://memo.wokaki.com/import_csv_phpmyadmin/

 

終わりに

こんな感じで、会員情報を無事、移行できました。Magentoはリッチなフレームで、Welcartは一般的に小規模向けとされているので、この移植はあまりケースがないのかもしれませんが、備忘録として記事にしました。

クライアント様がMagentoからWordPressベースへ移行したい理由はいろいろありますが、制作者があまり運用を考慮していないのと、商品検索が使い勝手悪い状態でUI設計されてしまっていることなので、Magento自身が悪い訳ではありません。(全ページ、管理画面からコンテンツが修正できないとか・・・運用者が直でPHPいじるのは、敷居が高すぎですよね)
何でもそうですが、作った人によって良くも悪くも倒れてしまうこと、肝に銘じて制作を進めて行きたいですね。

(Visited 392 times, 1 visits today)