【问题标题】:Rails 5 - Migrate to using UUID as primary keyRails 5 - 迁移到使用 UUID 作为主键
【发布时间】:2017-05-25 07:48:06
【问题描述】:

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 设置为主键的迁移会是什么样子?

【问题讨论】:

  • 其他表上是否有指向users.id(又名:belongs_to :user)的外键?

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


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-27
    • 2021-10-16
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    相关资源
    最近更新 更多