我正在做一个 RoR 项目。我正在迁移用户表。因为新的 dbase 有不同的设置,我想将登录内容与个人/设置内容分开,所以我没有导入 dbase;我分别迁移所有属性。我想保留旧的用户 ID。当我使用 user=User.new 时,我可以执行 user.id = migratee.user_id 并且保持相同的 user_id。不幸的是,在旧表中,不同的用户使用相同的电子邮件地址注册(不要问为什么)。当然,我不希望这样,所以我代替 user=User.new 所做的是 user=User.find_or_create_by_email(migratee.email)。我知道这会导致一些问题,因为具有相同电子邮件地址的用户将被覆盖。这是我将单独处理的问题。我的问题是,当我在 user=User 之后执行 user.id = migratee.user_id 时。find_or_create_by_email(migratee.email) 不会迁移旧 ID,但会分配新的自动递增 ID。有人知道如何避免这种情况吗?
问候,
罗格