【发布时间】:2011-12-02 08:03:45
【问题描述】:
create table foo (id auto increment primary key, name varchar(255))
我编写了一个简单的 Rails 迁移脚本,它在 self.up 上创建了一条新记录,并将其放在 self.drop 和 delete(:id => 1) 上。如果我执行 db:migrate 它会创建一个 id=1 的新条目,如果我回滚它会被删除。如果我在使用主键 id=2 创建记录时再次迁移/删除,并且我的删除脚本在回滚时失败,则会出现问题。
主键每次都相同是非常重要的,因为我有基于它的其他依赖项。处理这个问题的正确方法应该是什么。
【问题讨论】: