如何将uuid主键添加到没有id列的现有表

时间:2013-08-27 17:43:37

标签: activerecord ruby-on-rails-4

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

我必须有一个大脑放屁...

1 个答案:

答案 0 :(得分:0)

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

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