Mir*_*318 5 ruby-on-rails rails-migrations ruby-on-rails-5
我有一个Project模型,它有依赖项,并且数据库中已经有记录。
我想将Project.id(它的主键)更改为 UUID,而不仅仅是递增整数。
如何编写一个迁移来更改 id、更新现有记录以具有 UUID 以及更新其他表外键中的引用?
Uma*_*han -1
要从 default 迁移id到 use 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
872 次 |
| 最近记录: |