沉默 "unknown OID 17227: failed to recognize type of 'geography'. It will be treated as String."

Silence "unknown OID 17227: failed to recognize type of 'geography'. It will be treated as String."

我正在使用 "geography" 类型的列进行一些 "point within polygon" 查询。它们太少太简单,无法捆绑 GIS gem,我都在 SQL 级别处理。

但是,每次 Rails 启动(rake 任务、控制台等)时,都会出现以下警告:

unknown OID 17227: failed to recognize type of 'geography'. It will be treated as String.

我同意 "geography" 被视为 "String",但每次 cronjob 执行任何 rake 任务时警告都会触发警告邮件。

知道如何消除此警告吗?

感谢您的提示!

查看ActiveRecord的源码,我可以自己回答这个问题:

警告是硬编码的,因此不能通过 AR 配置消除。但是,RUBYOPT=-W0 完全摆脱了警告。这当然是一个很大的斩波器,但由于我在本地开发中仍然收到这些警告,我可以接受一个完全没有警告的生产系统。

由于这是第一个出现的question/answer,标题是错误的,我建议按照这个答案来修复它:What is the source of "unknown OID" errors in Rails?