如何在postgres中自动增加字符主键?

时间:2014-04-07 12:15:20

标签: ruby-on-rails postgresql

目前,主键看起来像a06E0000007q66cIAA。我想自动增加这个键,所以下次当我创建一个记录时,它将是唯一的并且自动递增。

任何想法如何?

对了,我正在做这样的事情

begin 
 m = Model1.new
 m.id = Digest::SHA1.hexdigest([Time.now, rand].join)[0..10]
 m.foo = 'bar'
 m.save
rescue 
  retry 
end 

我正在使用retry方法,因为如果由于NonUnique id而引发异常,则上述方法将再次尝试,这有望生成Digest::SHA1.hexdigest([Time.now, rand].join)唯一键。

这是我正在做的更糟糕的事情,我想消除这一点。

额外信息:

我正在使用postgresql和Rails 4。

 ➜  ~  postgres --version
 postgres (PostgreSQL) 9.3.2

id的数据类型,它是主键。

 "id" character varying(255) NOT NULL

0 个答案:

没有答案
相关问题