我有一个rails模型,其设置如下:
Poi:
id : int
name : varchar
subtype : int
我最近使用mysql\u dump和import将大量记录从一个数据库迁移到另一个数据库。迁移似乎进行得很顺利,如果我在控制台中查询id,它会发现记录。有这样一个记录:
id : 33
name : testpoi
subtype : 172
如果我尝试使用以下方法查找它:
Poi.where(:subtype => 172).first
它总是返回零
如果我在从中迁移数据库的系统上运行这个精确的查询,它确实可以工作。
如果我跑步
Poi.find(33)
它也找到了。我试过了
Poi.where(:subtype => "172").first
还要确保它不是数据类型不匹配,但没有用。
此外,如果我将此对象添加到集合
@otherobject.poilist << Poi.find(33) #=> which has a has many with foreign key subtype
它工作得很好(保存后返回true),但如果随后重新启动生产控制台,则关联将不再存在,即使子类型id与包含对象的id匹配。