Rails的数据库配置文件config/database.yml在YAML parser处理前会先使用ERB处理,这意味着我们可以动态化我们的数据库配置
举个例子,有时候我们的Rails开发Team成员有的用的是Linux环境,有的用的是Macintosh,我们的数据库mysql的socket的位置可能不一样
我们可以动态配置我们的数据库socket:
[code]
development:
adapter: mysql
database: DynamicDatabaseConfiguration_development
username: root
password:
socket: <%= ["/tmp/mysqld.sock",
"/tmp/mysql.sock",
"/var/run/mysqld/mysqld.sock",
"/var/lib/mysql/mysql.sock"].detect{ |socket|
File.exist?(socket)
} %>
[/code]
举个例子,有时候我们的Rails开发Team成员有的用的是Linux环境,有的用的是Macintosh,我们的数据库mysql的socket的位置可能不一样
我们可以动态配置我们的数据库socket:
[code]
development:
adapter: mysql
database: DynamicDatabaseConfiguration_development
username: root
password:
socket: <%= ["/tmp/mysqld.sock",
"/tmp/mysql.sock",
"/var/run/mysqld/mysqld.sock",
"/var/lib/mysql/mysql.sock"].detect{ |socket|
File.exist?(socket)
} %>
[/code]