Merge pull request #16028 from cade/fix_counter_cache_count_with_association_selects

Add `:all` argument to `count` in `reset_counters`

Conflicts:
	activerecord/CHANGELOG.md
Merge pull request #16003 from sgrif/sg-refactor-sqlite3-strings

Use a type object for type casting behavior on SQLite3
Merge pull request #16013 from tgxworld/remove_symbolized_path_parameters

Remove symbolized_path_parameters.
Fix typo
Don't fail if unicode.org isn't talking to us
Revert "Use a type object for type casting behavior on SQLite3"
Merge pull request #16054 from rails/revert-16003-sg-refactor-sqlite3-strings

Revert "Use a type object for type casting behavior on SQLite3"
Add a `required` option to singular associations

In addition to defining the association, a `required` association will
also have its presence validated.

Before:

```ruby
belongs_to :account
validates_presence_of :account
```

After:

```ruby
belongs_to :account, required: true
```

This helps to draw a distinction between types of validations, since
validations on associations are generally for data integrity purposes,
and aren't usually set through form inputs.
Merge pull request #16056 from sgrif/sg-required-associations

Add a `required` option to singular associations
CHANGELOG and release notes entry for #16056
Add release notes entry for #15819 [ci skip]
Use the type object for quoting PG Ranges
`Time.today` -> `Date.today` in guides. [ci skip]

Removed mentions of non-existent methods, also added a mention for
`Date.current`, which is analagous to `Time.current`. Closes #16061.
Remove *all* references to `Time.yesterday` [ci skip]
Only reference time specific methods in the time section [ci skip]
[ci skip] add guide for ActiveModel::Naming
Merge pull request #16035 from sgrif/sg-range-types

Use the type object for quoting PG Ranges
Re-enable foriegn key tests on MySQL

This reverts commit e84799d, e31104c and e6ca8e2
If our connection is explicitly non-strict, tell MySQL

We default to making the connection strict, but have historically relied
on the MySQL default when we want it to be non-strict. On some (recent?)
versions of MySQL, new connections default to being strict, so if we've
been told 'strict:false', we're obliged to pass that on.

This fixes a test failure that we've seen turn up on relatively-new
development machines, so we do already have a test covering it.
Fix mysql/mysql2 failing with FK constraint errors

One of the author fixture we have ("david") references an author address by ID.
Since we disable FK checks when inserting fixtures, this is all fine until we
try to update it, at which point MySQL would complain about the missing row
referenced by the `author_address_id`.

[Godfrey Chan, Matthew Draper]