首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails-将表(包含数据)迁移为UUID而不是ID

Rails-将表(包含数据)迁移为UUID而不是ID
EN

Stack Overflow用户
提问于 2016-12-06 08:38:01
回答 1查看 650关注 0票数 4

我有一个Project模型,它有依赖项,并且数据库中已经有记录。

我想把Project.id (它的主键)改为UUID,而不仅仅是一个递增的整数。

如何编写迁移来更改id、更新现有记录以使用UUID,以及更新它们在其他表的外键中的引用?

EN

回答 1

Stack Overflow用户

发布于 2016-12-06 20:49:45

要从默认id迁移到使用uuid,请尝试像这样编写迁移代码:

代码语言:javascript
运行
复制
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
end
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40985896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档