Я нашел гистограмму примеров database.yml с использованием mysql, postgres и sqlite3 , а исходный код Rails 3.2 для адаптеров подключения также обеспечивает хорошее понимание.
Мне кажется, что наиболее часто используются следующие параметры:
- адаптер
- кодировка
- база данных
- пул
- имя пользователя
- пароль
- сокет
- хост
- порт
- тайм-аут
The Rails 3.2 файл connection_specification.rb выглядит так, как будто он просто объединяет любые опции, которые вы включаете, поэтому я бы сказал, что эти опции зависят от используемого вами адаптера базы данных (строки 58-74):
def connection_url_to_hash(url) # :nodoc:
config = URI.parse url
adapter = config.scheme
adapter = "postgresql" if adapter == "postgres"
spec = { :adapter => adapter,
:username => config.user,
:password => config.password,
:port => config.port,
:database => config.path.sub(%r{^/},""),
:host => config.host }
spec.reject!{ |_,value| !value }
if config.query
options = Hash[config.query.split("&").map{ |pair| pair.split("=") }].symbolize_keys
spec.merge!(options)
end
spec
end