バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

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

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

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


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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

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

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


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

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

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

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

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

http://stackoverflow.com/a/12455513


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

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


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

YOHBUN
投稿日時: 2017/3/14 10:43
対応状況: −−−
常連
登録日: 2016/12/20
居住地:
投稿: 69
CSVアップロードを失敗しても、自動連番が作動しないようにしたい
▼テンプレート
[EC-CUBE] 3系

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

いろいろとずれて困っています。
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,286名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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