バージョン選択

フォーラム

メニュー

オンライン状況

29 人のユーザが現在オンラインです。 (17 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 29
もっと...

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > 管理機能 > CSVアップロードを失敗しても、自動連番が作動しないようにしたい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
YOHBUN
投稿日時: 2017/3/14 10:43
対応状況: −−−
常連
登録日: 2016/12/20
居住地:
投稿: 38
CSVアップロードを失敗しても、自動連番が作動しないようにしたい
▼テンプレート
[EC-CUBE] 3系

商品CSVのアップロードに失敗した場合(エラーがメッセージが出る)、
自動的にIDの連番機能が作動してしまうのは改善できないでしょうか?
こうなると、IDの値にブランクができてしまいます。
ですので、アップロードを失敗するたびに、
DBに入り、関連するテーブルのAUTO INCREMENTの値を変更する手間が発生しています。
この作業をなくすため、失敗した際でもAUTO INCREMENTの値はアップ前のままにはできないでしょうか。

いろいろとずれて困っています。
tao_s
投稿日時: 2017/3/19 7:10
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 646
Re: CSVアップロードを失敗しても、自動連番が作動しないようにしたい
IDの値にブランクができると具体的に何が困るのでしょうか?


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBE開発ブログ

umebius
投稿日時: 2017/3/19 13:16
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: Tokyo
投稿: 432
Re: CSVアップロードを失敗しても、自動連番が作動しないようにしたい
自動化したいというのはプログラマなのでわかります。
アップロード失敗した時に自力で戻してやれば良いのでは?

http://stackoverflow.com/a/12455513


----------------
//////////////////////////////
(株)U-Mebius EC-CUBE3 カスタマイズ・高速化 ・バグ修正
気軽にお問い合わせください。

YOHBUN
投稿日時: 2017/3/22 10:56
対応状況: −−−
常連
登録日: 2016/12/20
居住地:
投稿: 38
Re: CSVアップロードを失敗しても、自動連番が作動しないようにしたい
ブランクができた際に、不具合は今のところ出ていませんので、
ブランクができるのが気持ちが悪いということぐらいでしょうか。。w

自らの運用でしたら、その都度手動で値を修正するという方法でできますが、運用が別の人間で行いますので。。

不具合がなければ、問題なしということであきらめるしかなさそうですね。

ありがとうございました!
umebius
投稿日時: 2017/3/22 11:57
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: Tokyo
投稿: 432
Re: CSVアップロードを失敗しても、自動連番が作動しないようにしたい
確かに気持ち悪いですね。
失敗した時であればIDのMAX値とって参考URLの下記SQLをDoctrineで実行すればいけますかね。

ALTER TABLE <tablename> AUTO_INCREMENT = <max+1>;(MySQL)

どなたか良い方法お願い致します。


----------------
//////////////////////////////
(株)U-Mebius EC-CUBE3 カスタマイズ・高速化 ・バグ修正
気軽にお問い合わせください。

468
投稿日時: 2017/3/22 16:07
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 402
Re: CSVアップロードを失敗しても、自動連番が作動しないようにしたい
CSVインポート時にエラーがある場合、
トランザクションをロールバックさせる事でデータをCSVのインポート前の状態に戻しているようですが、
DBの仕様上、MySQLのオートインクリメントやPostgreSQLのシーケンスはロールバックでは元に戻りません。
これは複数のトランザクションを並行して走らせた場合でも、お互いをブロックしない状態でも値が重複しないようにする為の仕組みのようです。
(IDが抜けている事は大した問題ではありませんが、重複してしまうのは致命的ですので)

もし、ECCUBEで対応するとすれば、1つのループでデータチェックと格納を同時に行うのではなく、
先にすべてのデータチェックを終わらせてから、格納処理を行うようにすれば、この問題は対応できるのでは無いでしょうか?

単純にループが2倍になりますが・・・。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料blog

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

 

ログイン


EC-CUBEペイメント

統計情報

総メンバー数は19,115名です
総投稿数は79,891件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1618
4
yuh
1313
5
red
1027
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
778
10
tao_s
646


ネットショップの壺

EC-CUBEガイドブック
Copyright© LOCKON CO.,LTD. All Rights Reserved.