创建序列和相应的视图


项目必须确保一个唯一的订单号


当头发现在是时候产生的业务量大的情况下,,重复病例仍时有发生


解决方案:创建表和视图序列 从视图中取


CREATE SEQUENCE general_order_no_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;


CREATE OR REPLACE VIEW get_next_seq_view AS
 SELECT nextval('general_order_no_seq'::regclass) AS nextval;


获取:

ActiveRecord::Base.connection.execute('select * from get_next_seq_view;').first["nextval"].to_i



原文地址:https://www.cnblogs.com/mfrbuaa/p/4601617.html