【发布时间】:2018-08-08 20:04:32
【问题描述】:
假设我的一些 Rails 同事更愿意在他们自己设置的本地本地开发环境中开发应用程序以满足他们的需求,而我的一些同事更愿意开发在内部运行的应用程序Docker 容器,预装了所有必要的工具。
现在有config/database.yml,目前看起来像下面这样,以匹配所有本地人的设置,并以bin/rails db:setup开头。
default: &default
adapter: postgresql
encoding: unicode
pool: 5
development:
<<: *default
database: myapp_development
test:
<<: *default
database: myapp_test
但 Docker 人员确实需要以下内容 - 最重要的是不同的主机 - 它将以 docker-compose run web bin/rails db:setup 开头。由于现在主人不同了,这个database.yml 不再适用于当地人了。
default: &default
adapter: postgresql
encoding: unicode
host: db
username: postgres
password:
pool: 5
development:
<<: *default
database: myapp_development
test:
<<: *default
database: myapp_test
同时涵盖这两个用例的最方便或干扰最小的方式是什么?我可以动态获取主机值吗?如何?来自环境变量?来自不同的database.yml?那么如何告诉 Rails 改用这个呢?
注意:Docker 设置基本遵循https://docs.docker.com/compose/rails
【问题讨论】:
标签: ruby-on-rails database docker