2

我正在创建一个需要在多个数据库下运行的应用程序。我目前在迁移中有一些代码,我只想在特定数据库(postgresql 和 mysql)下运行。有什么办法设置吗?谢谢。

4

1 回答 1

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 适配器名称。

于 2011-05-30T17:58:42.540 回答