如何从特定数字开始一个数字列?

时间:2016-09-26 03:17:24

标签: ruby-on-rails ruby activerecord

我需要生成一个唯一的递增数字,它将成为更复杂的发票号码的一部分。我想在应用程序中保留增量逻辑。

我必须恢复目前正在另一个系统上进行的编号。

我打算做Model.maximum(:custom_number).next

但是如何从给定数字开始custom_number列?

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你只需要将表(Model)的主键索引重置为你想要的数字。

如果你正在使用MySQL或PostgreSQL,那么:

ALTER SEQUENCE tablename_id_seq RESTART WITH 1453;

然后下一条记录将包含索引,在这种情况下为1453

要访问,数据库控制台只需在您的控制台上运行 rails db

修改

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