バージョン選択

フォーラム

メニュー

オンライン状況

99 人のユーザが現在オンラインです。 (63 人のユーザが フォーラム を参照しています。)
登録ユーザ: 3
ゲスト: 96
kanenka g6ib52 NAUTICA もっと...

サイト内検索

プラグイン > バグ報告・利用に関する質問 > データ移行後に会員情報編集で EntityNotFoundException

バグ報告・利用に関する質問

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2019/8/23 22:28
対応状況: 解決済
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 907
データ移行後に会員情報編集で EntityNotFoundException
EC-CUBE2.4.1 → EC-CUBE4.0.2
データ移行プラグイン 1.4.8

会員情報編集で EntityNotFoundException Entity of type 'Eccube\Entity\Master\Job' for IDs id(0) was not found Exception が発生する

job_id = 0 のレコードが参照先テーブル mtd_job で定義されていないのが原因のエラーでしたが、移行前には dtb_customer の job_id はすべて null でした。
なぜか job_id が移行時に null から 0 になってしまうようです。

プラグインのソースでも次のような記述がありました。
app/Plugin/DataMigration4/Controller/Admin/ConfigController.php
                    } elseif ($column == 'job_id') {
                        $value[$column] = empty($data['job']) ? null : $data['job']; // 0が入っている場合あり?


移行後にデフォルト値で更新することでこのエラーは回避できました。
 UPDATE `dtb_customer` SET `job_id` = NULL WHERE `job_id` = 0;

根本的な原因わかりますでしょうか?


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

red
投稿日時: 2019/8/23 23:17
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1342
Re: データ移行後に会員情報編集で EntityNotFoundException
オープンソースなのでプルリクしてください
https://github.com/EC-CUBE/data-migration-plugin


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

EC-CUBE4のプラグイントラブル、調査します

h_tanaka
投稿日時: 2019/8/23 23:28
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 907
Re: データ移行後に会員情報編集で EntityNotFoundException
issue に登録しました。
https://github.com/EC-CUBE/data-migration-plugin/issues/21


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2019/8/28 10:18
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 907
Re: データ移行後に会員情報編集で EntityNotFoundException
app/Plugin/DataMigration4/Controller/Admin/ConfigController.php
saveToC()、saveToP()、saveToO() それぞれのループ内の $value[$column] を設定している処理の直後に次を追加することで問題が発生しなくなりました。
if ($value[$column] === 'NULL') {
    $value[$column] = null;
}


phpMyAdmin のバージョンが古いためか、CSV出力時になぜか 'NULL' データが存在し、数値に変換されることで 0 が登録されていたものと推測されます。
検証はしていません。

phpMyAdmin - 2.11.9.5


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2019/9/18 12:58
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 907
Re: データ移行後に会員情報編集で EntityNotFoundException
phpMyAdmin のエクスポート時のオプションに「NULL の代替文字列」というものがあり、これにNULLが指定されていました。
これを削除して空文字にすることで、問題が発生しなくなりました。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は49,358名です
総投稿数は93,177件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1967
4
468
1818
5
yuh
1602
6
red
1342
7
umebius
1296
8
fukap
907
9
h_tanaka
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
774
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.