目前,主键看起来像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