数据库特定迁移代码

发布于 2024-11-10 05:27:22 字数 91 浏览 0 评论 0原文

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

I'm creating an application that needs to run under multiple databases. I currently have some code in a migration that I only want run under specific databases (postgresql and mysql). Any way of setting this up? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

遗弃M 2024-11-17 05:27:22

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

Your migration has access to a database connection in connection and the connection has an adapter_name method so you can just ask it what sort of connection it is:

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

I'm not sure if I have the MySQL adapter name right but the technique is sound and you can easily check the MySQL adapter name yourself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文