如何配置Rails项目以在mysql,postgres中同时工作

时间:2018-12-13 15:20:02

标签: mysql ruby-on-rails postgresql dockerfile rails-migrations

如何配置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
...

0 个答案:

没有答案