2012-01-17 26 views
7

如何執行從Rails應用程序到MySQL數據庫的SQL查詢?如何從沒有模型的Rails應用程序中查詢MySQL數據庫?

我的應用程序使用Postgres作爲主數據庫,但我需要從輔助MySQL數據庫讀取一些信息。我無法創建模型,因爲MySQL數據庫有超過100個表,每個表以不兼容的方式命名。沒有ActiveRecord或其他方式可以完成嗎?

+0

Rails支持使用'set_table_name「foo」'爲特定模型強制強制表名。如果表的數量是靜態的,並且很可能你會使用它們,我會開始按照他們需要的順序創建模型。 AR:Base中也支持指定主鍵字段。 – Nick

回答

13

您可以直接使用mysql2 gem。在這裏閱讀文檔: https://github.com/brianmario/mysql2

或者:

您可以創建這樣一個新的類象的MySqlConnection:

class MysqlConnection < ActiveRecord::Base 
    self.establish_connection(:adapter => 'mysql', :database => 'some-database-name') # Set all the other required params like host, user-name, etc 
end 

從現在起,你可以做,

MysqlConnection.connection.select_all("SELECT * FROM table_name") 

按照鏈接瞭解如何在database.yml中存儲配置詳細信息:http://weare.buildingsky.net/2006/12/06/multiple-concurrent-database-connections-with-activerecord

+0

謝謝你的回答!這對我來說是最好的解決方案。 – Alve

相關問題