所以我使用Rails 3.2和mysql在本地开发。我的本地机器是Mac,我的database.yml用于开发:
development:
adapter: mysql2
database: dbname
encoding: utf8
host: localhost
port: 3306
timeout: 5000
socket: /tmp/mysql.sock
为了测试它是
test:
adapter: mysql2
database: dbname
encoding: utf8
host: localhost
port: 3306
timeout: 5000
socket: /var/lib/mysql/mysql.sock
测试和生产服务器在CentOS上,并且套接字在部署到它们时可以正常工作。但是我只是去做一个手动耙子并得到了
无法通过套接字'/tmp/mysql.sock'连接到本地MySQL服务器(2)
我的网站有效,但我很好奇我是不是应该单独处理database.yml进行部署,因为当我运行rake时它会以某种方式查看开发?
寻找建议并没有看到同样的问题,如果我错过了,请提前道歉。
答案 0 :(得分:2)
您可以在运行Rake任务时指定Rails环境。
rake db:migrate RAILS_ENV=production
答案 1 :(得分:0)
我可以想到三种选择:
shared
文件夹来处理不同的database.yml ENV['TEST_SOCKET']