【发布时间】:2020-08-10 09:40:46
【问题描述】:
我定义了以下 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。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 rails-activerecord