我们能用一个multiple development instances单一的源和一个database.yml文件连接到database.yml吗?我的意思是,我需要有4个来自同一个源的开发实例,它连接了4个不同的MySQL数据库。我可以使用不同的PORT ID启动服务器吗?
示例:
development:
adapter: mysql2
database: TEST1_development
host: localhost
username: root
password: password
encoding: utf8
pool: 30
development-2:
adapter: mysql2
database: TEST2_development
host: localhost
username: root
password: password
encoding: utf8
pool: 30
development-3:
adapter: mysql2
database: TEST3_development
host: localhost
username: root
password: password
encoding: utf8
pool: 30
development-4:
adapter: mysql2
database: TEST4_development
host: localhost
username: root
password: password
encoding: utf8
pool: 30那么,我们如何能够启动4个不同的服务器(在本地主机)连接这4个数据库?(我们通常将rails server用于开发中的单个实例。)
谢谢:)-
发布于 2014-01-29 10:58:01
这太容易了。
只需按问题中提供的方式更新database.yml文件即可。假设我们的开发实例是development、development-2、development-3和development-4。
首先,您只需创建3份环境文件development.rb (可以在config/environments/中找到)并将其重命名为development-2.rb、development-3.rb和development-4.rb。
然后,只需在启动服务器之前运行以下步骤即可。
RAILS_ENV=development rake db:create (OR just rake db:create as it defaults to development)
RAILS_ENV=development-2 rake db:create
RAILS_ENV=development-3 rake db:create
RAILS_ENV=development-4 rake db:create
RAILS_ENV=development rake db:schema:load (OR just rake db:schema:load as it defaults to development)
RAILS_ENV=development-2 rake db:schema:load
RAILS_ENV=development-3 rake db:schema:load
RAILS_ENV=development-4 rake db:schema:load
RAILS_ENV=development rake db:seed (OR just rake db:seed as it defaults to development)
RAILS_ENV=development-2 rake db:seed
RAILS_ENV=development-3 rake db:seed
RAILS_ENV=development-4 rake db:seed然后,以不同的服务器pid启动所有实例,如下所示。
rails s -p 3000 -e development --pid tmp/pids/server.pid (OR rails s by default)
rails s -p 3002 -e development-2 --pid tmp/pids/server.2.pid
rails s -p 3003 -e development-3 --pid tmp/pids/server.3.pid
rails s -p 3004 -e development-4 --pid tmp/pids/server.4.pid这将从同一个source和一个database.yml文件同时启动所有实例。谢谢大家的回复和帮助:)
发布于 2014-01-29 09:38:33
development-2,development-3环境。读取这篇文章发表在37 talks博客上,其中DHH谈到了这一点。https://stackoverflow.com/questions/21427008
复制相似问题