rails/rails — pull request #8009 by graceliu (2012-10-22 13:49:27+00:00)
Title: fixed support for DATABASE_URL for rake db tasks

This is the backport for issue 7521.

- added tests to confirm establish_connection uses DATABASE_URL and
Rails.env correctly even when no arguments are passed in.
- updated rake db tasks to support DATABASE_URL, and added tests to
confirm correct behavior for these rake tasks. (Removed
establish_connection call from some tasks since in those cases
the :environment task already made sure the function would be called)
- updated Resolver so that when it resolves the database url, it
removes hash values with empty strings from the config spec (e.g.
to support connection to postgresql when no username is specified).
- updated ResolverTest to use current_adapter? to check the type of
the current adapter.

(note: this backport is slightly different from master due to update to ResolverTest to make sure the tests get run when the adapter is mysql.)