Blog

【ECCUBE】2.12→2.13バージョンアップの検証 その2

2016/02/05

ECCUBE2.13 ECCUBE2.11~

その1の続きです。

【商品管理】

dtb_products、dtb_category、dtb_review、dtb_makerなどはカラムが同じなので、
そのままsqlファイルをアップしました。

ただし、dtb_productsなど商品点数が多い場合は、エクスポートする際にzipなど圧縮ファイルにしたほうがいいです。

【会員管理】

2.12と2.13ではカラム構造が違います。

そこで、参考にしたのがこちらのサイトです。
EC-CUBE2.12.6から2.13.1にアップグレードする為のSQL

こちらのサイトによると2.13にアップした後で、SQLを実行するように書いていますが、
なぜかうまくいかなかったため、
このSQLファイルを参考に、2.12で実施後、2.13にアップという流れにしました。

2.12のサイトが実働中でしたら、
くれぐれも本番の2.12で実施するのではなく、
別で2.12サイトを作り、そこで実施するようにしてください。

dtb.customerで実行するSQL

ALTER TABLE `dtb_customer` 
CHANGE COLUMN `kana01` `kana01` TEXT NULL DEFAULT NULL ,
CHANGE COLUMN `kana02` `kana02` TEXT NULL DEFAULT NULL ,
ADD COLUMN `company_name` TEXT NULL DEFAULT NULL AFTER `kana02`,
ADD COLUMN `zipcode` TEXT NULL DEFAULT NULL AFTER `zip02`,
ADD COLUMN `country_id` INT(11) NULL DEFAULT NULL AFTER `zipcode`;

SQLを実行後、エクスポートし、2.13にインポート。

【受注管理】

2.12と2.13ではカラム構造が違います。

こちらも上記サイトを参考に2.12でSQLを実行

ALTER TABLE `dtb_order` 
ADD COLUMN `order_company_name` TEXT NULL DEFAULT NULL AFTER `order_kana02`,
ADD COLUMN `order_zipcode` TEXT NULL DEFAULT NULL AFTER `order_zip02`,
ADD COLUMN `order_country_id` INT(11) NULL DEFAULT NULL AFTER `order_zipcode`;
 
ALTER TABLE `dtb_order_detail` 
ADD COLUMN `tax_rate` DECIMAL(10,0) NULL DEFAULT NULL AFTER `point_rate`,
ADD COLUMN `tax_rule` SMALLINT(6) NULL DEFAULT NULL AFTER `tax_rate`;
 
ALTER TABLE `dtb_order_temp` 
ADD COLUMN `order_company_name` TEXT NULL DEFAULT NULL AFTER `order_kana02`,
ADD COLUMN `order_zipcode` TEXT NULL DEFAULT NULL AFTER `order_zip02`,
ADD COLUMN `order_country_id` INT(11) NULL DEFAULT NULL AFTER `order_zipcode`;
 
ALTER TABLE `dtb_other_deliv` 
ADD COLUMN `company_name` TEXT NULL DEFAULT NULL AFTER `kana02`,
ADD COLUMN `zipcode` TEXT NULL DEFAULT NULL AFTER `zip02`,
ADD COLUMN `country_id` INT(11) NULL DEFAULT NULL AFTER `zipcode`;

エクスポート、インポートするsqlは
dtb_order.sql
dtb_order_detail.sql
dtb_order_detail_order_detail_id_seq.sql
dtb_order_order_id_seq.sql
dtb_other_deliv.sql
dtb_other_deliv_other_deliv_id_seq.sql
と、忘れてはいけないのが、
dtb_mail_history.sql
dtb_mail_history_send_id_seq.sql
以上です。

続いて、送り先情報(shipping)です。

こちらもカラムが違うため、2.12で下記を実行します。

ALTER TABLE `dtb_shipping` 
ADD COLUMN `shipping_company_name` TEXT NULL DEFAULT NULL AFTER `shipping_kana02`,
ADD COLUMN `shipping_country_id` INT(11) NULL DEFAULT NULL AFTER `shipping_fax03`,
ADD COLUMN `shipping_zipcode` TEXT NULL DEFAULT NULL AFTER `shipping_zip02`;

で、インポートしたところ
2.12にはshipping_numという2.13には無いカラムがありエラーとなりました。

重要な情報が入っていたらまずいので、2.12のデータを見たところ
全部「null」だったため、ちょっと危険ではありますが、カラムを削除し
再度、エクスポート→インポート作業を進めました。

これで、受注管理情報のインポート作業は完了です。

念のため、管理画面で情報が入っているか確認してください。

コンテンツ管理→新着情報管理は情報が無かったためスルー。

デザイン管理も新規デザインリニューアルのためスルーしました。

なお、デザイン管理については、参考サイトによるとpagelayoutのカラムが違うようですので、
アップする前に、

ALTER TABLE `dtb_pagelayout` 
ADD COLUMN `meta_robots` TEXT NULL DEFAULT NULL AFTER `update_date`;

を実施してください。

最後に重要な作業が残っています。

このままでは会員が登録したパスワードでログインできません。

config.phpのAUTH_MAGICを2.12と同じにしてアップロードしてください。

会員がログインできるかどうかチェックできないので、
2.12でテスト用に会員登録をしておくとログインチェックができます。

しかし、ここで管理画面にログインできないというトラブルが発生しました。

下記のサイトを参考にして無事解決できました。

管理者パスワードを忘れた時に管理画面にログインする方法

data/class/pages/admin/LC_Page_Admin_Index.php の $this->arrErr… を以下のようにコメントアウト

function action() {
    // パラメーター管理クラス
    $objFormParam = new SC_FormParam_Ex();

    switch ($this->getMode()) {
    case 'login':
        //ログイン処理
        $this->lfInitParam($objFormParam);
        $objFormParam->setParam($_POST);
        //$this->arrErr = $this->lfCheckError($objFormParam);
        if (SC_Utils_Ex::isBlank($this->arrErr)) {
            $this->lfDoLogin($objFormParam->getValue('login_id'));
            SC_Response_Ex::sendRedirect(ADMIN_HOME_URLPATH);
        }else{
            SC_Utils_Ex::sfDispError(LOGIN_ERROR);
        }
        break;
    default:
        break;
    }

    // 管理者ログインテンプレートフレームの設定
    $this->setTemplate(LOGIN_FRAME);
}

当たり前の話ですが、config.phpとLC_Page_Admin_Index.phpは
元のファイルを残してからアップするようにしてください。
決して上書きしないように注意してください。

テスト用に登録した会員情報でログインチェックをして問題なかったので、
たぶん、他の会員も大丈夫だと思います・・・・・。

カテゴリー

月間アーカイブ

MORE

ミュージシャンズ・プラザ

神社仏閣ホームーページ制作

ホームページ制作問合せ