我正在尝试将 2 个表中的现有数据导入到一个 rails 应用程序中,并且遇到了一个与 ids 相关的奇怪问题。创建表的所有迁移似乎都遵守约定(没有具体提及 id 字段,只是将其留给 rails 来解决)。基本上我为表A中的每个对象发送一个ajax对象,该对象属于表B中的一个对象。我在对象A中有一个名为object_b_name的字段,以及一个基于object_b_name执行find_or_create_by_name的mutator方法,返回对象B的id在对象 A 中使用。
在我的本地服务器上,表 B 中的对象具有连续的 ID。但是在远程服务器上,运行相同的代码,这些对象的 id 都是 0。这是什么原因造成的?
编辑/更新:在检查远程服务器中的模式后,发现 id 字段上没有自动增量或索引(正如@Sammitch 提到的那样),所以我猜项目中的其他人手动创建了该表由于某些原因。添加这些约束解决了这个问题。