
EC-CUBE3の各種データをEC-CUBE4へ移行する方法
EC-CUBE3系の顧客データ・商品データ・受注履歴・支払・配送方法などの一式の情報を4系に移す事ができます。
3系の元データはバックアッププラグインを使って保存(tar.gz)し、4系には専用のデータ移設プラグインで一気に移設します。
バックアップファイルのアップロード時にログイン情報も移設前のものになります。ログインする前にECCUBE_AUTH_MAGICを3系のものに上書きしておきましょう。
EC-CUBE3系の各種データを4系へ移行したい
EC-CUBE3に入っている顧客データや商品データ、受注データなどの情報一式を、EC-CUBEのバージョン4系に移す手順を紹介します。
クライアント案件
これは実際のクライアント案件をベースにした覚書となります。
EC-CUBE4にデータを移行するには、専用のプラグインを使います。
それが「データ移行プラグイン」と呼ばれる、オーナーズストアから購入する無料プラグインです。
移転元は3系、移転先は4系
本記事では3系のデータを4系に移す事を前提に進めていきます。
今回はまず移転元側のEC-CUBE3系で、バックアップデータを作成しなければなりません。
2系のバックアップデータ作成
今回は3系の移転が軸ですが、2系でも手動移転が可能です。
対象ファイルを直接上書き
2系の場合は各種実物ファイルのバックアップを取り、4系の同ファイルを全て手作業で上書きする事になります。
専用のプラグインなどを使った移設はできません。
ECCUBE_AUTH_MAGICの上書き
各種ファイルを上書きした後に必要なのが、ECCUBE_AUTH_MAGICの上書きです。
2系のECCUBE_AUTH_MAGICの値を、4系ファイルのECCUBE_AUTH_MAGICのところに上書きします。
バージョンごとにECCUBE_AUTH_MAGICの値が入っているファイルの場所を紹介します。
2.4.4系AUTH_MAGICの場所
data/cache/mtb_constants.php
2.11以降AUTH_MAGICの場所
data/config/config.php
4系のECCUBE_AUTH_MAGICの場所
.env
今回は3系のデータ移設なので2系の解説はこの程度にしておきます。
3系のバックアップデータ作成
ではいよいよ3系のお話です。まずはバックアップデータを作成する必要があります。
そのためにストアから「EC-CUBE4系移行用バックアッププラグイン(3.0系)」をインストールする必要があります。
バックアッププラグインのダウンロード
EC-CUBEストアの以下のページへ進みましょう。
緑色の「購入する」ボタンをクリックします。
まだオーナーズストアでログインをしていない場合は、メールアドレスとパスワードでログインして下さいね。
購入先サイトの選択
上記の様な画面が出てきます。
下の登録しているWEBサイトから、インストール先を選択しましょう。
一覧に無い場合は「ご利用サイトの登録」をクリックして先に登録しておいて下さい。
サイトを選択したら「無料で購入」ボタンを押しましょう。
ご注文ありがとうございました。と出れば購入完了です。
プラグインのインストール
次に移転元のEC-CUBE3の管理画面にログインします。
左袖メニューのオーナーズストアからプラグインの項目を開き、「購入済みプラグイン」の欄に進みます。
先程無料購入したバックアッププラグインが表示されているはずです。
バックアッププラグイン右上にある「今すぐインストール」をクリックしましょう。
有効化
インストールが完了したら、オーナーズストアプラグインの一覧にバックアッププラグインが表示されるようになります。
今は停止中の状態ですので、「有効にする」リンクをクリックしましょう。
これでプラグインが有効になりましたね。
バックアップ実行
有効化したら、右端の「設定」リンクを押しましょう。
バックアップを取る画面になりますので、右の青いパネル「バックアップ実行」をクリックします。
バックアップデータがブラウザにダウンロードされ、tar.gz形式で保存されてきます。
これで3系のバックアップを取る事ができましたね。
4系移行プラグインのダウンロード
次は移設先となるEC-CUBE4への移行プラグインをダウンロードしてきます。
EC-CUBEストアの以下のページを開きましょう。
※データ移行プラグインは他にも複数ある様ですので間違えないようにしましょう。プラグインによってインストール・有効化しても歯車マークが出ない事があります。
上記データ移行プラグインの「購入ボタン」をクリックします。
先にバージョンアップさせる事
ここで重要なのが、プラグインを購入する前にサイトを「EC-CUBE4にバージョンアップ」しておく事です。
今回はクライアント案件で、3系の入ったサイトサーバーが老朽化に伴い、移設が必要になりました。
ですのでWEBサイトを別サーバーに引っ越しさせ、そこで新しい4系のEC-CUBEを使う予定にしています。
移転元と移転先の3系と4系のEC-CUBEが、個別に存在している状態です。
4系の入ったWEBサイトが選択できない
移転元・移転先両方同じドメインですから、今オーナーズストア上のWEBサイトは移転元の3系を示しています。
ネームサーバーを切り替えて初めて、オーナーズストアでも4系のシステムが入った方が認識されます。
本案件の場合はここで、WEBサイトのサーバーを引っ越しさせるタイミングになります。
4系にしてからドメイン選択
こういった特殊な状況でないなら、ここで4系にバージョンアップさせましょう。
4系のバージョンアップの仕方は、ここでは割愛します。
バージョンアップ後にこのページで、該当のドメインを選択する事になります。
下にある「無料で購入」ボタンをクリックしましょう。
しばらくすると、ご注文ありがとうございました。と表示され購入が完了します。
プラグインのインストール
次に移転先のEC-CUBE4の管理画面にログインします。
ログインしたら、左袖メニューのオーナーズストアからプラグインの項目を開き、「プラグイン一覧」の欄にすすみます。
プラグイン一覧画面
先程無料購入したバックアッププラグインが下に表示されているはずです。
バックアッププラグイン欄にある「インストール」をクリックしましょう。
EC-CUBEデータ移行プラグイン(4.2系)のインストール画面が表示されますので、右下のインストールボタンを押します。
ブラウザのポップアップ画面が開き、開始するかを聞かれますのでOKしましょう。
インストール中のゲージ表示がされ、終了すると「インストールされました」のガイダンスと完了ボタンが表示されます。
これでインストール完了です。
EC-CUBE4の管理画面からダウンロード
先程はオーナーズストアからダウンロードしましたが、EC-CUBEの管理画面からプラグインを追加する方法もあります。
プラグインメニューの「プラグインを探す」画面を開きましょう。
「データ移行」で検索を掛けて、表示された「データ移行プラグイン」を確認し「入手する」をクリックします。
そうするとインストール画面が表示されますので、先程と同様にインストールするだけです。
プラグインを有効化・データ移設
ではいよいよプラグインを有効化して、データ移設をしていきます。
有効化のアイコンをクリック
インストールが完了したら、プラグインの一覧にアッププラグインが表示されます。
今は無効の状態ですので、右端にある三角のボタンをクリックしましょう。
「データ移行プラグイン」を有効にしました。と表示されれば完了ですね。
3系のバックアップデータをアップロード
有効化したら、データ移行プラグインの右端に歯車マークが表示されますので、これをクリックしましょう。
次の画面で、先程3系で保存したバックアップ(tar.gz)をアップロードします。
アップロード時点で移設完了
アップロードをした時点で、以下のデータが一気に移行されます。大変便利ですね。
会員情報データ
管理者情報
商品データ
カテゴリ名称
受注履歴
支払方法
配送方法
この後管理画面へのログインを促されますが、この時点でデータの移設は終了しています。
ECCUBE_AUTH_MAGICの上書き
再ログインが必要
アップロードが完了すると同時に、EC-CUBEの管理画面ログインを聞かれます。
実はこのデータ移行プラグインを使う事で、ログイン情報も移転元のものに変わります。
プラグインの移行対象となるDBデータに、dbt-memberが含まれているためですね。
ログインができない
ところが3系と同じ情報でログインしようとしても、弾かれてしまうと思います。
これは、今から紹介する「ECCUBE_AUTH_MAGICの上書き」をしていないためです。
ECCUBE_AUTH_MAGICの上書き
ここでログインをする前に、ECCUBE_AUTH_MAGICの値を揃えておく必要があります。
3系のECCUBE_AUTH_MAGICの場所
移転元の3系は、以下の場所にECCUBE_AUTH_MAGICの情報が入っています。
インストールディレクトリ/eccube3/app/config/eccube/config.yml
ファイルの最上段
この情報をコピーしましょう。
4系のECCUBE_AUTH_MAGICの場所
次に、EC-CUBE4系の構成データTOPにある.envファイルをダウンロードしておきます。
インストールディレクトリ/.env
.envファイル内にあるECCUBE_AUTH_MAGICの値は違うものになっているはずです。
先程コピーした3系の値をここに張り付け、上書きアップロードしましょう。
この様にECCUBE_AUTH_MAGICの値を揃えておかないと、ログインする事ができません。