2016-12-16 63 views
0

我正在开发一个Ruby on Rails应用程序。我们使用sqlite数据库适配器进行本地开发和测试,并使用postgresql适配器进行生产环境。我已经建立了我的database.yml来正确访问这些数据库。Rails中一个环境中的多个数据库适配器

但是,我们与Travis CI持续整合。当我推新提交时,我想让Travis对postgresql数据库执行所有测试,这基本上意味着将测试环境的适配器交换。

我现在想到的是在database.yml中的测试环境中的所有选项中使用环境变量,当未设置环境变量时使用默认值指向sqlite3。

不过,我不知道是否有一个解决方案,直接在database.yml中

回答

0

反映这个,所以我知道这并不能回答你的直接问题,但我强烈建议你在本地使用PostgreSQL发展。当你离开直接的活动记录使用时,几乎会立即遇到问题,并且这将是很难隔离的事情(即它在本地通过,但由于某种原因在travisCI中失败)。

如果你绝对,100%必须以不同的方式做到这一点,你很可能需要设置一个ENV令牌来区分。

https://docs.travis-ci.com/user/database-setup/