Merge pull request #16762 from eileencodes/refactor-add_constraints-complex-loop-conditional

Refactor add_constraints complex loop conditional
Add a quick straw-man Incompatibilities section

Is this a thing we want?

Note current duplication between the `assert_select` section here, and
the corresponding release note entry... does this detail *move* from
there to here?

[ci skip]
Remove 'if exists' from drop table statement then use `table_exists?`

Since 'drop table if exists' statement does not always work with
some databases such as Oracle.
Fix failing tests in ActiveJob Adapter
Merge pull request #16778 from yahonda/if_exists

Remove 'if exists' from drop table statement then use `table_exists?`
Merge pull request #16777 from seuros/testcase

Fix failing tests in ActiveJob Adapter
use correct operator in query based on JSON document
Move column option handling to new_column_definition

TableDefinition#column is not called from `add_column`.
Use TableDefinition#new_column_definition for column option handling.
Dont mess with default order engines load

When copying migrations some engines might depend on schema from other
engine so we can't blindly reverse all railties collection as that would
affect the order they were originally loaded. This patch helps to only
apply the order from engines specified in `railties_order`
Reset ActiveRecord::SchemaDumper.ignore_tables value after changed in tests
Merge pull request #16781 from kamipo/move_column_option_handling

Move column option handling to new_column_definition
Merge pull request #16780 from viditn91/use-correct-operators-in-query

use correct operator in query based on JSON document [ci skip]
Merge pull request #16263 from zuhao/refactor_activerecord_serialized_attribute_test

reset_column_infomation shouldn't be part of the assertion.
Fix for double ActiveJob::DeserializationErorr
Merge pull request #16785 from cristianbica/fix-double-aj-deserialization-error

Fix for double ActiveJob::DeserializationErorr
[Active Job] Try to deserialize with GlobalID only strings and globalids
schema loading rake tasks maintain database connection for current env.

[Joshua Cody & Yves Senn]

Closes #16757.

Prior to this patch schema loading rake tasks had the potential to leak a
connection to a different database. This had side-effects when rake tasks
operating on the current connection (like `db:seed`) were chained.
copy edit AS core ext changes [ci skip]
Merge branch 'master' of github.com:rails/docrails
Ship with rails-html-sanitizer instead.