如何配置Rails项目以在mysql,postgres数据库之间同时工作。 Gemfile希望两个数据库gem都存在。其中一位开发人员指向MySQL数据库,另一位指向Postgres数据库。如何在没有修改database.yml文件或Gemfile的情况下进行清晰的设置。
config/database.yml
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password:
host: localhost
default-pg: &default-pg
adapter: postgresql
encoding: unicode
pool: 5
username: 'root'
password: 'password'
host: 'localhost'
port: 5432
development:
# <<: *default
<<: *default-pg
database: devdb
Gemfile看起来像这样
..
gem 'mysql2', '>= 0.4.4', '< 0.6.0'
gem 'pg'
..
Dockerfile看起来像这样
...
RUN apk add --no-cache \
build-base \
libxml2-dev \
libxslt-dev \
mysql-dev \
postgresql-dev \
ruby-nokogiri \
nodejs
...