项目必须确保一个唯一的订单号
当头发现在是时候产生的业务量大的情况下,,重复病例仍时有发生
解决方案:创建表和视图序列 从视图中取
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