簡體   English   中英

Rails:從MySQL轉換為PostGres打破了Geokit距離計算?

[英]Rails: Converting from MySQL to PostGres breaks Geokit Distance Calculations?

我最近將我的數據庫從MySQL切換到PostGres。 我也使用GeoKit。 當我使用已經播種的新數據庫啟動我的應用程序時,我收到以下錯誤:

PGError: ERROR:  function radians(character varying) does not exist
LINE 1: ...COS(0.661045389762993)*COS(-2.12957994527573)*COS(RADIANS(ti...
                                                         ^
HINT:  No function matches the given name and argument types. You might 
need to add explicit type casts.

任何人都知道為什么現在這會破裂? 我知道GeoKit仍然有效,因為當數據庫被播種時,它仍然在每張票的模型中執行地理編碼,它只是不能正確地進行距離計算。

對於那些在搜索中查找此答案的人來說,問題是Postgresql要求lat,lng列為十進制或至少是非字符串,而MySQL允許使用兩者。

不出所料, “radians”函數需要一個DOUBLE PRECISION參數。 並且沒有為TEXT / CHARACTER VARYING(又名VARCHAR)定義的DOUBLE PRECISION的強制轉換。

可能最簡單的解決方案是定義這樣的演員表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM