news
news copied to clipboard
Build(deps-dev): Bump doctrine/dbal from 3.8.0 to 4.0.0
Bumps doctrine/dbal from 3.8.0 to 4.0.0.
Release notes
Sourced from doctrine/dbal's releases.
4.0.0
This is a major release that includes breaking changes. Please refer to the upgrade guide for more details.
API Improvements and Cleanup
- Strict scalar type declarations (#2854).
- Scalar parameter and return value types (#3511, #3569 and others).
- Disallow empty CompositeExpression #3868 and make it immutable #3858
- Improved error handling in prepared statements:
- Transaction-related Statement methods return void and throw an exception
- Converted
Connection
andStatement
methods which returnedfalse
in case of a failure intovoid
- Improved behavior of
Connection::getDatabase()
(#3606)- Autoincrement via identity columns on PostgreSQL
- Use native syntax for Top-N queries on Oracle (#5150) and IBM DB2 (#5156)
- Handle lost connection during commit #4713
- Reworked
AbstractPlatform::get*Expression()
methods #3498- [Do not require a WHERE in update() and delete() Connection operations #5567](doctrine/dbal#5567)
- Improvements in exception hierarchy and semantics
- Remove defaults for MySQL table charset, collation and engine
- Convert ParameterType to enum
- Convert enum-like classes to enums doctrine/dbal#5554
- Improved Schema Diff API (no more public properties, almost immutable)
Major Backward Compatibility Breaks
- Get rid of hard-coded default values of maximum field lengths (#3586).
- Column precision no longer defaults to 10. Scale and precision must be explicitly specified for decomal columns (#3348).
- Made the OFFSET in LIMIT queries non-nullable integer defaulting to 0
- Connection::quote() can only quote strings. Note that using this method is discouraged. Use prepared statements instead.
- Getting rid of the column name index #3583
- Represent table columns as list in the order of declaration #4777
- Drop support for SQL Server 2016 and older
- Drop support for Postgres 9
- Drop support for MySQL 5.6 and older and MariaDB 10.2.6 and older
- Drop support for MariaDB 10.4.2 and older
- Drop support for Oracle 12c and older
- Remove
AbstractPlatform::hasNative*Type()
methods andType::requiresSQLCommentHint()
- Removed support for driver name aliases
- Removed extension via Doctrine Event Manager
Major Bugfixes
- Removed
Connection::$_schemaManager()
and::getSchemaManager()
(#4518)- Removed
Connection::$_expr
(#4516) and::getExpressionBuilder()
(#4540)Detailed Release Notes
... (truncated)
Upgrade guide
Sourced from doctrine/dbal's upgrade guide.
Note about upgrading: Doctrine uses static and runtime mechanisms to raise awareness about deprecated code.
- Use of
@deprecated
docblock that is detected by IDEs (like PHPStorm) or Static Analysis tools (like Psalm, phpstan)- Use of our low-overhead runtime deprecation API, details: https://github.com/doctrine/deprecations/
Upgrade to 4.0
BC BREAK: removed
AbstractMySQLPlatform
methods.
getColumnTypeSQLSnippets()
,getDatabaseNameSQL()
.BC BREAK: Removed lock-related
AbstractPlatform
methodsThe methods
AbstractPlatform::getReadLockSQL()
,::getWriteLockSQL()
and::getForUpdateSQL()
have been removed UseQueryBuilder::forUpdate()
as a replacement for the latter.BC BREAK: BIGINT vales are cast to int if possible
BigIntType
casts values retrieved from the database to int if they're inside the integer range of PHP. Previously, those values were always cast to string.BC BREAK: Stricter
DateTime
typesThe following types don't accept or return
DateTimeImmutable
instances anymore:
DateTimeType
DateTimeTzType
DateType
TimeType
VarDateTimeType
As a consequence, the following type classes don't extend their mutable counterparts anymore:
DateTimeImmutableType
DateTimeTzImmutableType
DateImmutableType
TimeImmutableType
VarDateTimeImmutableType
BC BREAK: Remove legacy execute and fetch methods.
The following methods have been removed:
Result::fetch()
Result::fetchAll()
... (truncated)
Commits
53df8c4
Merge branch '3.9.x' into 4.0.x44b908c
Update branches in README.md (#6292)563ea0c
Merge branch '3.9.x' into 4.0.x8e60c35
Update branch metadata (#6291)755d4cc
Merge branch '3.8.x' into 4.0.xc9ea252
PHPStan 1.10.57, PHPUnit 9.6.16 (#6290)cc65c7b
Merge branch '3.8.x' into 4.0.xa9cd978
Avoid ambigous TABLE_NAME in query (#6275)f78899c
Add safety check about cache value (#6283)d0efd5c
Merge pull request #6282 from greg0ire/formatting- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebase
will rebase this PR -
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it -
@dependabot merge
will merge this PR after your CI passes on it -
@dependabot squash and merge
will squash and merge this PR after your CI passes on it -
@dependabot cancel merge
will cancel a previously requested merge and block automerging -
@dependabot reopen
will reopen this PR if it is closed -
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency -
@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)