Rails 5 - 迁移到使用UUID作为主键

时间:2017-05-25 07:48:06

标签: ruby-on-rails ruby ruby-on-rails-5

Rails 5允许使用UUID作为主键。我最近从Rails 4迁移到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设置为主键?

1 个答案:

答案 0 :(得分: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