2017-05-25 94 views
0

Rails 5允许使用UUID作为主键。我最近从Rails 4迁移到了5,并希望利用此功能。我现在的表有两个UUID和序列ID:Rails 5 - 迁移到使用UUID作为主键

schema.rb:

create_table "customers", id: :serial, force: :cascade do |t| 
    t.uuid "uuid", default: -> { "gen_random_uuid()" }, null: false 
    # other stuff... 
end 

什么会迁移样子摆脱的id和UUID设置主键?

+3

你有其他表指向'users.id'(又名:'belongs_to:user')的外键吗? – spickermann

回答

1

据我所知,你已经有id字段作为整数和主键。你也有uuid领域。你可以做类似

def change 
    change_table :customers do |t| 
     t.remove :id 
     t.rename :uuid, :id 
    end 

    execute 'ALTER TABLE brands ADD PRIMARY KEY (id);' 
    end