3

除了删除和重新创建表之外,如何将 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]

我一定是脑子有屎...

4

1 回答 1

0

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

def change
  add_column :products_questions, :id, :uuid, primary_key: true, default: -> { "gen_random_uuid()" }
end
于 2019-08-04T20:33:49.277 回答