我正在创建一个需要在多个数据库下运行的应用程序。我目前在迁移中有一些代码,我只想在特定的数据库(postgresql和mysql)下运行。有什么方法可以设置吗?感谢。
答案 0 :(得分: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适配器名称。