簡體   English   中英

在 Rails 中,使用 mysql2 gem 從 MySQL 讀取點類型時出現問題

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

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