private method doesn't work for singleton methods defined this way
Add tests to ActiveSupport:XmlMini to_tag method
additional note about routes in functional tests for engines [ci skip]
Fix insertion of records for hmt association with scope, fix #3548
Auto-generate stable fixture UUIDs on PostgreSQL.
Fixes: #11524
Merge pull request #12016 from roderickvd/uuid_fixes

Auto-generate stable fixture UUIDs on PostgreSQL

Conflicts:
	activerecord/CHANGELOG.md
	activerecord/lib/active_record/fixtures.rb
	activerecord/test/cases/adapters/postgresql/uuid_test.rb
	activesupport/CHANGELOG.md
Improve Contributing to Rails Guide

Logically group the content, so it makes more sense if someone tries to read from start of page to end of page. [ci skip]
Add documentation for Thread#freeze
Only apply DATABASE_URL for Rails.env

As we like ENV vars, also support DATABASE_URL_#{env}, for more obscure
use cases.
Make sure DEFAULT_URL only override current environment database
configuration
Test DATABASE_URL has precendance over DATABASE_URL_#{environment}
Only call DEFAULT_ENV proc one time
Check env_url only once
entry is always a Hash
Rearrange the config merger some more

This seems to simplify the operative part. Most importantly, by
pre-loading all the configs supplied in ENV, we ensure the list is
complete: if the developer specifies an unknown config, the exception
includes a list of valid ones.
Give a deprecation message even when the lookup fails

If the supplied string doesn't contain a colon, it clearly cannot be a
database URL. They must have intended to do a key lookup, so even though
it failed, give the explanatory deprecation warning, and raise the
exception that lists the known configs.

Conveniently, this also simplifies our logical behaviour: if the string
matches a known configuration, or doesn't contain a colon (and is
therefore clearly not a URL), then we output a deprecation warning, and
behave exactly as we would if it were a symbol.
Ensure we correctly and immediately load all ENV entries

.. even when the supplied config made no hint that name was relevant.
Less ambition, more deprecation

The "DATABASE_URL_*" idea was moving in the wrong direction.

Instead, let's deprecate the situation where we end up using
ENV['DATABASE_URL'] at all: the Right Way is to explicitly include it in
database.yml with ERB.
Don't deprecate after all
Drop in @jeremy's new database.yml template text

In passing, allow multi-word adapters to be referenced in a URL:
underscored_name must become hyphened-name.