[英]In Rails, problems reading a point type from MySQL with mysql2 gem
我正在從舊系統進行重構,但在使用“點”數據類型時遇到了問題。
在 Sequel Pro 中,我可以將“位置”列的值視為POINT(-22.81507676827597 -47.07767857976228)
但是當我從數據庫中查詢時
Mysql2::Client.new(
host: ENV.fetch('LEGACY_DATABASE_HOST'),
username: ENV.fetch('LEGACY_DATABASE_USERNAME'),
password: ENV.fetch('LEGACY_DATABASE_PASSWORD'),
database: ENV.fetch('LEGACY_DATABASE_NAME')
).query("SELECT * FROM local").first('location')
我得到一個奇怪的結果,如“\\x00\\x00\\x00\\x00\\x01\\x01\\x00\\x00\\x00\\x84y\\xFF\\xDE\\xA8\\xD06\\xC0\\xE0\\xD6'_\\xF1\\x89G\\xC0” ,如果我立即嘗試保存它,它會變成 0。
用rails處理mysql中的點數據類型的正確方法是什么?
我強烈建議您使用activerecord-postgis-adapter gem,使這一切變得非常簡單。 盡管如果您打算自己動手,請深入研究該寶石,看看他們是如何做到這point
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.