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

Activerecord 如何将uuid主键添加到没有id列的现有表中,activerecord,ruby-on-rails-4,Activerecord,Ruby On Rails 4,除了删除并重新创建一个表之外,如何将uuid类型的主键id列添加到没有id字段(联接表)的表中 我试过: add_column :organizations_users, :id, :uuid, primary_key: true 但该列未设置为主键 查看new\u column\u definitionActiveRecord方法,上面的代码应该可以工作: column.primary_key = type == :primary_key || options[:primary_key]

除了删除并重新创建一个表之外,如何将uuid类型的主键id列添加到没有id字段(联接表)的表中

我试过:

add_column :organizations_users, :id, :uuid, primary_key: true
但该列未设置为主键

查看new\u column\u definitionActiveRecord方法,上面的代码应该可以工作:

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

我一定是在胡思乱想…

这是一个老问题,但如果有人遇到它,这在Rails 5.2中对我很有用。我已经对其他表中的主键:id列使用了UUID,所以如果您不这样做,可能需要首先设置它

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