2011-05-30 90 views
2

我正在創建一個需要在多個數據庫下運行的應用程序。我目前在遷移中有一些代碼,我只想在特定數據庫(postgresql和mysql)下運行。任何方式來設置它?謝謝。數據庫特定的遷移代碼

回答

5

您遷移有權訪問connection數據庫連接和連接有一個adapter_name方法,這樣你可以問它,它是什麼樣的連接:

def self.up 
    case connection.adapter_name 
    when 'PostgreSQL' 
     # Do PostgreSQL stuff 
    when 'MySQL' 
     # Do MySQL stuff 
    else 
     # Blow up and catch on fire. Or silently ignore it depending on your needs. 
    end 
end 

我不知道如果我有MySQL適配器名稱正確,但技術很完善,您可以輕鬆地自行檢查MySQL適配器名稱。