gpt4 book ai didi

ruby-on-rails - Rails — 迁移表(包含数据)以使用 UUID 而不是 ID

转载 作者:行者123 更新时间:2023-12-03 01:26:40 25 4
gpt4 key购买 nike

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

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

如何编写一个迁移来更改 id、更新现有记录以具有 UUID 以及更新其他表外键中的引用?

最佳答案

要从默认 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
end

关于ruby-on-rails - Rails — 迁移表(包含数据)以使用 UUID 而不是 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40985896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com