【问题标题】:Database Specific Migration Code [duplicate]特定于数据库的迁移代码 [重复]
【发布时间】:2011-09-04 22:02:33
【问题描述】:

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

【问题讨论】:

    标签: mysql ruby-on-rails postgresql migration rails-migrations


    【解决方案1】:

    您的迁移可以访问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 适配器名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-27
      • 2021-09-10
      • 2011-10-31
      • 2011-01-21
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      相关资源
      最近更新 更多