【问题标题】:How to add a uuid primary key to existing table without id column如何在没有 id 列的现有表中添加 uuid 主键
【发布时间】:2013-08-27 17:43:37
【问题描述】:

除了删除和重新创建表之外,如何将 uuid 类型的主键 id 列添加到创建时没有 id 字段的表 - 连接表?

我试过了:

add_column :organizations_users, :id, :uuid, primary_key: true

但该列未设置为主键。

查看 new_column_definition ActiveRecord 方法,上面的代码应该可以工作:

column.primary_key = type == :primary_key || options[:primary_key]

我一定是在放屁……

【问题讨论】:

    标签: activerecord ruby-on-rails-4


    【解决方案1】:

    一个老问题,但如果有人遇到它,这在 Rails 5.2 中对我有用。我已经将 UUID 用于其他表中的主键 :id 列,因此如果不是,您可能需要先设置它。

    def change
      add_column :products_questions, :id, :uuid, primary_key: true, default: -> { "gen_random_uuid()" }
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 2012-08-01
      • 2012-11-25
      • 2020-06-16
      相关资源
      最近更新 更多