1

在无意中用我的夹具测试数据(只有 2 行/表)覆盖了我的大约 100 行/表的开发数据库后,在每个模型中创建的下一个新对象从 id = 897600 开始。

是什么原因造成的?这是否意味着我创建了 897500 个在我的数据库中不可见的测试对象?不确定这是否是我应该关注的事情,但任何反馈都将不胜感激。

我正在使用带有 Rails 3.2 的 PostgreSQL 9.1

请让我知道哪些附加信息有助于澄清我的问题。谢谢!

4

1 回答 1

1

Rails 夹具使用夹具键的哈希值来确定记录id。这允许所有好东西(介绍此功能时的一些旧文章)。为了让您的测试运行,在测试示例中创建的记录不需要与这些哈希 id 冲突,因此ActiveRecord将 PK 序列重置max(id)+1为它与夹具接触的每个表。以下是您的 PK 如何达到897600.

于 2012-08-23T19:15:45.810 回答