項目需要保證訂單號的唯一
在使用時間生成時發現在業務量比較大的情況下,還是會出現重複情況
解決方案:創建一個序列表和視圖 從視圖中取
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