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;
以上です。