项目需要保证订单号的唯一
在使用时间生成时发现在业务量比较大的情况下,还是会出现重复情况
解决方案:创建一个序列表和视图 从视图中取
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
创建序列以及对应的视图
时间: 2024-10-13 22:47:07