EC-CUBE4:MYSQL直弄りで失敗した件
EC-CUBE4インストール実行もデータUPで失敗。
先の記事で書いた通り、WordPressで書いた会社のポータルページが500エラーで起動しなくなりました。
「悪い事は前向きな切っ掛けとしてとらえる」と言うことで、折角だからとECキューブの最新をインストールしてみました。
EC-CUBE4をダウンロードしサーバーにUP
インストールまでの動作は超簡単。
ec-cube.netのダウンロードページから本体をダウンロード
解凍してサーバーに上げます。
EC-CUBE用のフォルダを作り、その中に解凍したデータをアップロード。
会社ポータルの変わり=ドキュメントルートに設定したいので、一番外側の.hatccessを弄りドキュメントルートを変更します。ドキュメントルートの変更はここら辺が参考になります。
こうしておけば、再度会社ポータルを設置しようとした場合でも.hatccessの変更だけで入れ替えが可能!
便利ですよねぇ。
EC-CUBE4をインストール
ECキューブ開発ドキュメントを参考にインストールを実行します。
FTPで上げたので今回はパッケージインストールを参照です。
- http://example.com/{EC-CUBEをアップロードしたディレクトリ}
え??これだけ??
はい、これだけで初期設定画面が起動。順序良く進めインストール完了です。
ココまでは順調だったがカテゴリ登録で失速
某コンサルさんの指導で超細かく分けた弊社の商品カテゴリ。
その数600越えです。
これを1件1件登録なんてアホな事はしたくないのでCSVで登録しようとテーブルを整備します。
カテゴリID | 表示ランク | カテゴリ名 | 親カテゴリID | 階層 |
CSVの項目もこんな程度。
楽勝だと思い作り変えていきます。
カテゴリID | 表示ランク | カテゴリ名 | 親カテゴリID | 階層 |
---|---|---|---|---|
1 | 1 | 新入荷 | 1 | |
2 | 2 | 特集 | 1 | |
3 | 3 | 商品別 | 1 | |
4 | 4 | ブランド別 | 1 | |
5 | 5 | フライパン | 3 | 2 |
6 | 6 | 調理鍋 | 3 | 2 |
7 | 7 | やかん/ケトル | 3 | 2 |
8 | 8 | カバー/鍋蓋 | 3 | 2 |
9 | 9 | 調理道具 | 3 | 2 |
10 | 10 | 食器/カトラリー | 3 | 2 |
11 | 11 | 容器/ストッカー | 3 | 2 |
12 | 12 | キッチン雑貨 | 3 | 2 |
13 | 13 | 掃除道具 | 3 | 2 |
14 | 14 | 洗濯道具 | 3 | 2 |
15 | 15 | スリッパ/マット | 3 | 2 |
16 | 16 | 文具/事務用品 | 3 | 2 |
17 | 17 | 美容健康用品 | 3 | 2 |
18 | 18 | 電気用品 | 3 | 2 |
19 | 19 | 自転車/車用品 | 3 | 2 |
20 | 20 | 園芸用品 | 3 | 2 |
21 | 21 | 季節雑貨 | 2 | 2 |
22 | 22 | アウトドアグッズ | 3 | 2 |
23 | 23 | 収納道具/インテリア | 3 | 2 |
24 | 24 | 財布/バッグ/時計 | 3 | 2 |
25 | 25 | 喫煙具 | 3 | 2 |
26 | 26 | 子供用品 | 3 | 2 |
約600のレコードを整理して【カテゴリCSV登録】からアップロード実行!
え!?63件が最大だって!!
残念ながら一気に処理できないようで小分けします。
そして、再度アップロード!
今度は上手くいったようです。確認のために【カテゴリ管理】をクリック。
ん?? IDが98番から振られてる…。
さっきの件数多い時にカウントも進めたか?
でもCSVの親カテゴリの欄には1番から振った番号で関係性を記載してます。
再度見直してふり直すなんて面倒臭くてやりたくない。
だったら直接MySQL弄ればいいじゃん!
そう思い立ちMySQLのdtb_categoryをダウンロード、構成をコピーします。
MySQL直弄り後MYSQLの挙動がおかしくなる
MySQLに移植するcategoryテーブルをこんな感じで作りました。
id | parent_category_id | creator_id | category_name | hierarchy | sort_no | create_date | update_date | discriminator_type |
---|---|---|---|---|---|---|---|---|
1 | 1 | 新入荷 | 1 | 1 | 2018/11/11 8:48 | 2018/11/11 8:48 | category | |
2 | 1 | 特集 | 1 | 2 | 2018/11/11 8:48 | 2018/11/11 8:48 | category | |
3 | 1 | 商品別 | 1 | 3 | 2018/11/11 8:48 | 2018/11/11 8:48 | category | |
4 | 1 | ブランド別 | 1 | 4 | 2018/11/11 8:48 | 2018/11/11 8:48 | category | |
5 | 3 | 1 | フライパン | 2 | 5 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
6 | 3 | 1 | 調理鍋 | 2 | 6 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
7 | 3 | 1 | やかん/ケトル | 2 | 7 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
8 | 3 | 1 | カバー/鍋蓋 | 2 | 8 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
9 | 3 | 1 | 調理道具 | 2 | 9 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
10 | 3 | 1 | 食器/カトラリー | 2 | 10 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
11 | 3 | 1 | 容器/ストッカー | 2 | 11 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
12 | 3 | 1 | キッチン雑貨 | 2 | 12 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
13 | 3 | 1 | 掃除道具 | 2 | 13 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
14 | 3 | 1 | 洗濯道具 | 2 | 14 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
15 | 3 | 1 | スリッパ/マット | 2 | 15 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
16 | 3 | 1 | 文具/事務用品 | 2 | 16 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
17 | 3 | 1 | 美容健康用品 | 2 | 17 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
18 | 3 | 1 | 電気用品 | 2 | 18 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
19 | 3 | 1 | 自転車/車用品 | 2 | 19 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
20 | 3 | 1 | 園芸用品 | 2 | 20 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
21 | 2 | 1 | 季節雑貨 | 2 | 21 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
22 | 3 | 1 | アウトドアグッズ | 2 | 22 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
23 | 3 | 1 | 収納道具/インテリア | 2 | 23 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
24 | 3 | 1 | 財布/バッグ/時計 | 2 | 24 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
25 | 3 | 1 | 喫煙具 | 2 | 25 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
26 | 3 | 1 | 子供用品 | 2 | 26 | 2018/11/11 8:48 | 2018/11/11 8:48 | category |
アップロード実行!
MYSQL側は順調に処理を終えました。
上手くいっただろうとページを確認すると…反映されてない。
キャッシュやらクッキーやらの原因だと思い閲覧履歴のクリアを実行。
それでも何故か反映されない。
原因を探るべく再度MYSQLへログイン。
あれ?エラーで勝手にログアウトさせられる。
その後いろいろ手段を講じてみるも全く変わる様子無し。
やばい事やっちまったかな。
途方に暮れながら晩御飯やら子供との食後のコミュニケーションやらでしばらく放置となりました。
子供が寝た深夜24時。
もう一度確認しようと酔った頭でMYSQLにつなぐと…あれ?エラー出ないじゃん?
ECキューブの動作も確認します。
どうやら想定していた形に更新できている様子。
ん~~何が原因だったのでしょう。
まとめ
- EC-CUBEではMYSQLから直弄りは極力控える
- CSV更新の際は基礎データを先に作成し更新でデータ調整を行う考えの方が無難
- やむを得ずMYSQL直弄りした場合は繁栄に時間が掛かる可能性を考慮する
できるだけコンソールから行きましょうという事ですね。
-
前の記事
https化注意点:hetemlのサーバ移設失敗例 2018.11.12
-
次の記事
EC-CUBE4で起こった不思議な現象 2018.11.13
コメントを残す