2014-09-05 47 views
1

我想在Linux和Windows上設置鏈接。在我的database.yml中,如何?如何爲每個操作系統設置database.yml條件?

現在:

development: 
adapter: mysql2 
encoding: utf8 
database: skeletor_dev 
pool: 25 
username: root 
password: 
socket: /private/var/mysql/mysql.sock 

我想是這樣的:

development: 
    adapter: mysql2 
    encoding: utf8 
    database: skeletor_dev 
    pool: 25 
    username: root 
    password: 
    socket: /private/var/mysql/mysql.sock if os => windows 
    socket: /private/var/mysql/mysql.sock if os => linux 

這可能嗎?如何?

+1

你可以像'development_windows:'和'development_linux'那樣創建多個環境,並根據明智的定義套接字'rake db:migrate RAILS_ENV = development_windows' – 2014-09-05 15:44:01

+0

這不是,我想要的是... – ProkopS 2014-09-06 00:44:01

回答

0

使用ERB。

development: 
    socket: <%= %w[windows linux].include?(ruby_code_to_get_os) ? '/path/to/sock' : nil %> 

很明顯,你必須弄清楚如何最好地確定平臺本身,但這應該會讓你去。

相關問題