我如何配置 database.yml 以便 rake db:create 创建多个数据库?

How do I configure database.yml so that rake db:create creates multiple databases?

我定义了以下 database.yml 配置

adapter_default: &adapter_default
  adapter : mysql2
  encoding: utf8

default: &default
  <<: *adapter_default
  database: <%= Rails.application.secrets.database_name %>
  host    : <%= Rails.application.secrets.database_host %>
  username: <%= Rails.application.secrets.database_user %>
  password: <%= Rails.application.secrets.database_password %>
  port    : <%= Rails.application.secrets.database_port %>

development:
  <<: *default

test:
  <<: *default

staging:
  <<: *default

production:
  <<: *default
  pool: <%= Rails.application.secrets.database_connection_pool_size || 5 %>

read_replica:
  <<: *adapter_default
  database: <%= Rails.application.secrets.replica_database_name %>
  host    : <%= Rails.application.secrets.database_host %>
  username: <%= Rails.application.secrets.database_user %>
  password: <%= Rails.application.secrets.database_password %>
  port    : <%= Rails.application.secrets.database_port %>

但是,当我 运行 rake db:create 时,只创建了 Rails.application.secrets.database_name 中定义的数据库。 read_replica 数据库根本没有创建! 但是当我 运行 rake db:create:all 时,会创建 read_replica 数据库。但是,我不希望为所有环境创建数据库。 我确定我的 database.yml 文件的结构缺少一些东西。 我正在使用 Rails 4.2.6.

您可以使用

创建单独的数据库
RAILS_ENV=staging rake db:create