pg, `change_column_default, :table, :column, nil` issues `DROP DEFAULT`.

Closes #16261.

[Matthew Draper, Yves Senn]

Using `DEFAULT NULL` results in the same behavior as `DROP DEFAULT`.
However, PostgreSQL will cast the default to the columns type,
which leaves us with a default like "default NULL::character varying".

/cc @matthewd
Merge pull request #16280 from a3gis/master

Fixes #16265 and correct documentation typo
clenaup, unify CHANGELOG format. [ci skip]
Fixes #16265
Fix documentation typo in ConnectionSpecification::Resolve.spec
fix, mysql `db:purge` respects `Rails.env`.

Previously this method always established a connection to the test database.
This resulted in buggy behavior when combined with other tasks like
`bin/rake db:schema:load`.

This was one of the reasons why #15394 (22e9a91189af2c4e6217a888e77f22a23d3247d1)
was reverted:

> I’ve replicated it on a new app by the following commands: 1) rails
  generate model post:title, 2) rake db:migrate, 3) rake
  db:schema:load, 4) rails runner ‘puts Post.first’. The last command
  goes boom. Problem is that rake db:schema:load wipes the database,
  and then doesn’t actually restore it. This is all on MySQL. There’s
  no problem with SQLite.

  -- DHH

https://github.com/rails/rails/commit/22e9a91189af2c4e6217a888e77f22a23d3247d1#commitcomment-6834245
build fix, fix error introduced with 091b246bb0111357edbb9703ea342a944b04deb6

Fixes the following issue:

  1) Failure:
ActiveRecord::MySQLPurgeTest#test_establishes_connection_to_test_database [test/cases/tasks/mysql_rake_test.rb:200]:
not all expectations were satisfied
unsatisfied expectations:
- expected exactly once, not yet invoked: ActiveRecord::Base.establish_connection(:test)
satisfied expectations:
- allowed any number of times, invoked once: #<Mock:0x2349430>.recreate_database(any_parameters)
- allowed any number of times, invoked once: ActiveRecord::Base.establish_connection(any_parameters)
- allowed any number of times, invoked once: ActiveRecord::Base.connection(any_parameters)
tests, run adapter specific rake tests only for the right adapter.
Make HWIA copy the default proc too.

[fixes #16279]
Bug fix for assert_template when opening a new session.

See https://github.com/rails/rails/pull/16234#commitcomment-7115670.
Improve description of tests.
Merge pull request #16281 from arthurnn/copy_default_proc_hwia

Make HWIA copy the default proc too.
Add support for Postgresql JSONB

[Philippe Creux, Chris Teague]
Small Action View Overview edits [ci skip]

Some small grammar and readability edits
Remove finishing? method from transaction.

The finishing variable on the transaction object was a work-around for
the savepoint name, so after a rollback/commit the savepoint could be
released with the previous name.

related:
9296e6939bcc786149a07dac334267c4035b623a
60c88e64e26682a954f7c8cd6669d409ffffcc8b
adding indexes on tables in migration scripts

missed one migration script in last commit

remove some empty lines

using the belongs_to index option to be more concise
Add password:digest information to scaffold generator help text [ci skip]
Additional clarification on password:digest in scaffold and model generator help [ci skip]
Merge pull request #16272 from tgxworld/fix_template_assertion_when_opening_a_session

Fix template assertion when opening a session.
Merge pull request #16220 from pcreux/postgresql-jsonb-support

Add support for Postgresql JSONB