使用我的灯具测试数据(仅2行/表)无意中覆盖~100行/表的开发数据库后,在每个模型中创建的下一个新对象从id = 897600开始。
导致这种情况的原因是什么?这是否意味着我创建了897500个测试对象,这些对象在我的数据库中以某种方式不可见?不确定这是否是我应该关注的事情,但任何反馈都会受到赞赏。
我正在使用PostgreSQL 9.1和Rails 3.2
请告诉我哪些其他信息有助于澄清我的问题。谢谢!
答案 0 :(得分:1)
Rails灯具使用灯具键的散列来确定记录id
。这允许所有good stuff(引入此功能时的一些旧文章)。为了使测试运行,在测试示例中创建的记录不需要与这些哈希id冲突,因此ActiveRecord
会将PK序列重置为max(id)+1
,因为它会与使用fixture相接触的每个表。以下是您的PK如何达到897600
等数字。