我有一个Project模型,它有依赖项,并且数据库中已经有记录。
我想把Project.id (它的主键)改为UUID,而不仅仅是一个递增的整数。
如何编写迁移来更改id、更新现有记录以使用UUID,以及更新它们在其他表的外键中的引用?
发布于 2016-12-06 20:49:45
要从默认id迁移到使用uuid,请尝试像这样编写迁移代码:
class ChangeProjectsPrimaryKey < ActiveRecord::Migration
def change
add_column :projects, :uuid, :uuid, default: "uuid_generate_v4()", null: false
change_table :projects do |t|
t.remove :id
t.rename :uuid, :id
end
execute "ALTER TABLE projects ADD PRIMARY KEY (id);"
end
endhttps://stackoverflow.com/questions/40985896
复制相似问题