除了删除并重新创建表之外,如何将 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]
我一定是脑子放屁了......
最佳答案
一个老问题,但如果有人遇到它,这对我在 Rails 5.2 中有用。我已经在其他表中使用 UUID 作为主键 :id 列,因此如果您没有这样做,可能需要先进行设置。
def change
add_column :products_questions, :id, :uuid, primary_key: true, default: -> { "gen_random_uuid()" }
end
关于activerecord - 如何向没有 id 列的现有表添加 uuid 主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18472168/