2012-11-07 134 views
1

我使用PosgreSQL適配器連接到數據庫Vertica的其中大部分是兼容PostgreSQL的,但不支持像client_min_messages選項(目前仍在傳遞給PGconn.connect儘管database.yml不存在)數據庫適配器。我做了一個快速和骯髒的猴子補丁ActiveRecord::ConnectionAdapters::PostgreSQLAdapter但問題是,我想一切都在AR在延遲加載和原始文件被我的補丁後讀取。猴修補的Rails應用程序

如果我在猴子補丁的頂部添加require 'active_record/connection_adapters/postgresql_adapter'然後ActiveRecord的嘗試建立連接和失敗。是否有可能改變這種行爲,使猴子補丁工作,或者我應該只寫一個完整的連接適配器?

+0

你已經完全模塊,您來做到這一點? – wuntee

回答

4

你可以連接你的代碼railties初始化。從我的寶石multi_config包括樣品:

module <YourModule> 
    # Railtie subclass for the gem/plugin 
    class Railtie < Rails::Railtie 

    # Railtie initializer method 
    initializer '<your_plugin>.active_record' do 

     # When active_record is loaded, only then run this. 
     ActiveSupport.on_load :active_record do 
     # Hook your code here. For .e.g. 
     ActiveRecord::Base.send(:include, <YourPluginModule>) 
     end 
    end 
    end 
end 
+0

謝謝,工作完美 – synapse