我需要将我的应用程序配置为使用多个分片,甚至多个数据库适配器。我注意到所有像这样的 rake 命令rake db:migrate
都在工作,并且会对 shards.yml 中定义的分片产生影响,除了rake db:create
. 手动创建所有这些将是一个真正的痛苦。我怎样才能让它工作?
我的database.yml(我这里已经定义了,只有我的master shard)
development:
adapter: postgresql
host: localhost
encoding: unicode
database: db_workload_master_development
pool: 5
username:
password:
production:
......
我的碎片.yml
octopus:
environments:
- production
- development
development:
shards:
mysql:
host: localhost
adapter: mysql2
database: db_workload_mysql_shard_development
sqlite:
host: localhost
adapter: sqlite3
database: db_workload_sqlite_shard_development
pg:
host: localhost
adapter: postgresql
database: db_workload_pg_shard_development
pool: 5
username:
password:
production:
....
只有 database.yml 中的 db 是使用 rake-task 创建的rake db:create
。