2011-05-30 89 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适配器名称。