首页 > 解决方案 > 当 database.yml 配置文件中存在多个数据库时,如何使用 rake 创建数据库?

问题描述

如何rake db:create:all RAILS_ENV=development以一种可以在我的配置文件中捕获所有数据库的方式格式化命令?

# config/database.yml
db1:
  development:
    adapter: mysql2
    host: 127.0.0.1
    database: db1
    username: user
    password: pass
  test:
    .
    .
db2:
  development:
    adapter: mysql2
    host: 127.0.0.1
    database: db2
    username: user
    password: pass
  test:
    .
    .
db3:
  development:
    adapter: mysql2
    host: 127.0.0.1
    database: db3
    username: user
    password: pass
  test:
    .
    .

使用rake db:create:all时,我期望创建所有数据库(db1、db2、db3),但只创建 db1。

标签: ruby-on-railsrubydatabaserake

解决方案


多数据库支持将是 Rails 6 中的一个新特性,该特性尚未发布。请参阅https://weblog.rubyonrails.org/2019/1/18/Rails-6-0-Action-Mailbox-Action-Text-Multiple-DBs-Parallel-Testing/

中的 YAML 结构database.yml看起来与您的有所不同 - 请参阅https://github.com/rails/rails/pull/33877#issuecomment-422150252


推荐阅读