2013-03-15 46 views
3

使用Rails 4和PostgreSQL,是否可以創建一個主鍵爲UUID而不直接使用SQL的表?現在,我訴諸於:Rails 4 UUID作爲默認值的ID

c = ActiveRecord::Base.connection                         
c.execute 'CREATE TABLE revisions (id uuid primary key default uuid_generate_v4());' 

我知道這是不可移植的,並有性能影響。

回答

2

我知道這是一個較老的問題,但支持使用UUID作爲主ID現在已經融入Rails 4中。有關更多信息,請參閱this post

+0

我只是建立一個可觀的API並決定使用這個uuid實現。在這一點上,我不確定除了嘗試新事物的快感之外還有什麼好處。反覆地,我發現ActiveRecord查詢不能按預期工作。例如,我必須在連接模型上覆蓋#delete,併爲所有通過連接的關聯方法編寫自定義SQL。 – 2015-12-04 22:00:16