代码之家  ›  专栏  ›  技术社区  ›  corroded

Gemfile中的条件

  •  9
  • corroded  · 技术社区  · 15 年前

    我们的团队使用不同的数据库,我们使用bundler,因此我们的Gemfile包含repo创建者的db connector(mysql)

    我正在使用pg,由于有点懒惰和害怕破坏某些东西,我不想使用mysql,所以我只是在Gemfile中添加了一个gem“pg”。

    当然,由于我们使用的是git,它将始终显示为一个修改过的文件,并且我们都使用Gemfile,因此我们不能gitignore它或提交我们的更改。

    问题是,我们该怎么做?bundler中是否有条件,或者我必须声明我在其他地方使用某个gem?

    2 回复  |  直到 15 年前
        1
  •  16
  •   tadman    15 年前

    Gemfile ,就像 Rakefile

    if (Gem.available?('pg'))
      gem 'pg'
    else
      gem 'mysql2'
    end
    

        2
  •  1
  •   hellvinz    15 年前

    你可以用一个小组。Yehuda Katz在这里解释它(以pg gem为例) http://yehudakatz.com/2010/05/09/the-how-and-why-of-bundler-groups/