毎日1剤Rails良薬のDynamic Database Config


Railsのデータベースプロファイルconfig/database.ymlはYAML parser処理の前にERB処理を使用します.これは、データベース構成を動的に化できることを意味します.
例えば、Rails開発チームのメンバーがLinux環境を使っている場合もあれば、Macintoshを使っている場合もあります.私たちのデータベースmysqlのsocketの位置が違うかもしれません.
データベースを動的に構成できます.

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)
               } %>