现在的位置: 首页 > 综合 > 正文

创建序列以及对应的视图

2018年09月07日 ⁄ 综合 ⁄ 共 346字 ⁄ 字号 评论关闭

项目需要保证订单号的唯一

在使用时间生成时发现在业务量比较大的情况下,还是会出现重复情况

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

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

抱歉!评论已关闭.