如何使用bundler在Gemfile中处理不同的RDBMS依赖?

时间:2012-01-19 19:38:08

标签: ruby-on-rails-3 bundler

我有一个可以部署在MySQL或Oracle上的项目。

当在database.yml(或其他地方)中指定时,我应该使用什么策略来使Gemfile需要正确的库(mysql2或ruby-oci8)?

具体来说,我试图避免在Gemfile中同时使用,因为根据您的平台安装ruby-oci8会有问题。我也希望可以发布标准的“bundle install”,而不是根据你的数据库选择需要额外的标志。

感谢。

1 个答案:

答案 0 :(得分:0)

没有标准的方法来定义可选的依赖项。

您可以做的是将依赖项放入不同的组:

group :mysql do
  ...
end

group :oracle do
  ...
end

但是你需要使用--without标志来安装一个或另一个。