2014-09-05 25 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 %> 

很明显,你必须弄清楚如何最好地确定平台本身,但这应该会让你去。

相关问题