2014-09-05 2 views
1

Я хотел бы установить звездочку в Linux и Windows. Как в моей базе данных.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' –

+0

Это не то, что я хочу ... – ProkopS

ответ

0

Использование ERB.

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

Очевидно, что вы будете иметь, чтобы выяснить, как лучше определить саму платформу, но это должно вам начать работу.

Смежные вопросы