【发布时间】:2011-08-05 10:04:05
【问题描述】:
我正在从事一个 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.find_or_create_by_email(migratee.email) 之后执行 user.id = migratee.user_id 时,不会迁移旧 ID,而是分配了新的自动递增 ID。有人知道如何避免这种情况吗?
问候,
罗格
【问题讨论】:
标签: mysql ruby-on-rails ruby migrate