[英]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.