ハマログ

株式会社イーツー・インフォの社員ブログ

EC-CUBEのシーケンス番号を変更する

EC-CUBEのID管理にはシーケンステーブルが利用されています。
dtb_order(受注テーブル)のIDなら、dtb_order_order_id_seqテーブルです。

このテーブル構造がsequenceという1カラムのみになっていて、付番済みの番号が1レコード格納されています。

——————–
sequence
——————–
999
——————–

データ移行などでシーケンス番号を任意の位置から開始するときに、この値を変更しても次の番号が上手く採番されず、別のレコードができます。

——————–
sequence
——————–
999000 ←手動で999000に変更
——————–

採番後

——————–
sequence
——————–
999000 ←インクリメントされない
——————–
1000 ←追加
——————–

これは、実際にはレコードの値を見ているわけではなく、sequenceカラムのAUTO_INCREMENTを利用して採番しているためでした。
ということで、シーケンス番号の変更はalter tableコマンドでおこないます。

ALTER TABLE dtb_order_detail_order_detail_id_seq AUTO_INCREMENT=999000;

以上です。

EC-CUBEsequenceシーケンス

  kaneko tomo   2016年4月1日


関連記事

ガリガリ君神経衰弱つくりなおしました!

以前から公開していた、ガリガリ君公式アプリ「ガリガリ君 神経衰弱」をSwift2…

NetBeansをPSR-1/PSR-2 standards準拠に設定する

PSR-1: 基本コーディング規約 PSR-1(日本語) PSR-2: コーディ…

Laravel開発でREPLを使う

久しぶりにLaravelでのそれなりの規模の開発に携わることになりました。 以前…


← 前の投稿

次の投稿 →