Don't try to EXPLAIN select_db calls
Merge pull request #10554 from dasch/dasch/dont-try-to-explain-it-dont-matter

Don't try to EXPLAIN select_db calls
Don't modify args in TableDefinition#primary_key

Previously, if you reused a hash that was passed into a table definition,
then subsequent tables' primary keys would be set to "true" instead of "id".
Merge pull request #10572 from nertzy/dont-modify-options-hash-in-primary-key

Don't modify args in TableDefinition#primary_key
Merge pull request #10503 from kstevens715/master

Avoid method missing when calling assume_migrated_upto_version (master)

Conflicts:
	activerecord/CHANGELOG.md
Improve CHANGELOG entry [ci skip]
Deprecate SchemaStatements#distinct, and make SchemaStatements#columns_for_distinct nodoc.

#distinct was previously used by #construct_limited_ids_condition, but
no more after #6792. #columns_for_distinct is just a utility method for
#construct_limited_ids_condition and shouldn't be public.

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
# On branch deprecate-schema-statements-distinct
# Changes to be committed:
#   (use "git reset HEAD^1 <file>..." to unstage)
#
#	modified:   activerecord/CHANGELOG.md
#	modified:   activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
#	modified:   activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rb
#