2016-09-26 20 views
0

より複雑な請求書番号の一部となる固有の増分番号を生成する必要があります。私は、アプリケーションの増加ロジックを維持したいと思います。特定の番号から番号列を開始するにはどうすればよいですか?

現在、別のシステムで行われている番号付けを再開する必要があります。

私はModel.maximum(:custom_number).next

をするつもりしかし、どのように、私は与えられた数からcustom_number列を開始することができますか?

答えて

0

あなたの質問が分かったら、テーブル(モデル)の主キーのインデックスを必要な番号にリセットするだけで済みます。

あなたが、その後のMySQLやPostgreSQLを使用している場合:

ALTER SEQUENCE tablename_id_seq RESTART WITH 1453; 

を、次のレコードには、ちょうどあなたのコンソール上レールデシベルを実行するDBコンソールこの場合には、インデックスのためにアクセスするために1453

を持っています

EDIT

before_filter :check_invoice_number 
def check_invoice_number 
    self.invoice_column = Model.last.invoice_column + 1 
end 
+0

T先端のためのハンクス。しかし、ここではid列は使用しませんが、 'invoice_number'列を使用します。ごめんなさい。 – DoeJ

+0

さて、SQLデータベースの場合は、テーブルごとに1つの自動増分カラムしかないので、Railsモデルで** before_create **を実行して最後に保存されたレコードを確認し、請求書の列に+1することができます 私の編集したコメントを確認してください – Makarov

+0

@DoeJあなたのinvoice_number列にID列がありますか? IDの代わりにinvoice_numberを使用するのを止めるものはありません。 – MarsAtomic

関連する問題