[英]Rails database.yml configuration with different sockets on dev, test and production
所以我在本地使用 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 時以某種方式查看開發?
尋找建議但沒有看到相同的問題,如果我錯過了,請提前道歉。
您可以在運行 Rake 任務時指定 Rails 環境。
rake db:migrate RAILS_ENV=production
我可以想到三種選擇:
shared
文件夾來處理不同的database.ymlENV['TEST_SOCKET']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.