【发布时间】:2020-02-24 10:51:15
【问题描述】:
我正在寻找有关从数字 ID 迁移到 Ecto 中的 UUID 的任何提示和建议。
我有一个具有大量关系的项目,我不能简单地删除 db 并使用 UUID 重新创建它,这似乎是一个最简单的解决方案,因为我必须保留数据。
我的想法是:
将
:uuid, :uuid字段添加到表中用脚本和
Ecto.UUID.generate()填充:uuid列将表格修改为
(:some_table, primary_key: false),将字段修改为::uuid, :uuid, primary_key: true,并删除:id字段。将
:uuid字段重命名为:id
虽然在我看来它看起来很完美,但我当然忘记了参考。有什么方法可以通过从数字 ID 到 UUID 的迁移来轻松处理引用?我想到的唯一想法是创建额外的表,它将在第二步和第三步之间包含旧 ID 和新 UUID,然后删除旧引用并根据创建的表添加新引用。我将不胜感激任何建议:)
【问题讨论】:
标签: postgresql elixir ecto