This is a major release of Doctrine DBAL that focuses on API improvements and removal of deprecated APIs.
Major release highlights
Integration with PDO has been reworked. The php_pdo extension is no longer a hard dependency of the doctrine/dbal package. The PDO API is not longer the standard for DBAL APIs.
The wrapper-level connection and statement classes no longer implement the corresponding driver-level interfaces.
Instead of being available in certain states of the Statement class, the statement result is explicitly returned as a separate value.
A new dedicated API has been introduced for unique constraints.
The prepared statement portability layer has been reworked on top of the newly introducer Driver Middleware API.
The logic of conversion of driver-specific error codes and exceptions has been extracted into the Exception Converter API.
The SQL parser has been completely reworked to allow for better compatibility with the SQL syntax.
The following database platforms are no longer supported:
Drizzle,
MariaDB 10.0 and older,
Microsoft Azure,
PostgreSQL 9.3 and older,
SQL Anywhere,
SQL Server 2008 and older.
The following drivers are no longer supported:
pdo_ibm,
sasql.
Passing a PDO instance initialized outside of the DBAL is no longer supported.
The support for UUID generation on the database side has been dropped.
The MasterSlaveConnection class has been renamed to PrimaryReplicaConnection.
The executeUpdate() method has been renamed to executeStatement().
All driver classes and driver-level connection and statement classes are now conscdistently named and declared as final.
All PDO-based drivers have been moved under the PDO namespace.
The Doctrine\DBAL\DBALException and Doctrine\DBAL\Driver\DriverException have been renamed to Doctrine\DBAL\Exception and Doctrine\DBAL\Driver\Exception respectively.
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 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)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps doctrine/dbal from 2.10.2 to 3.0.0.
Release notes
Sourced from doctrine/dbal's releases.
Upgrade guide
Sourced from doctrine/dbal's upgrade guide.
Commits
ee6d126
Merge pull request #4433 from morozov/more-specific-statement-params-type41ff58d
Positional statement parameters are a listede9e16
Merge pull request #4431 from BenMorel/configuration5d03f6e
Use individual properties in Configuration0f55c0d
Merge branch '2.12.x' into 3.0.xc2c8488
Merge pull request #4403 from simPod/patch-1041df42
Merge pull request #4397 from morozov/issues/4383e456ab1
Merge pull request #4429 from morozov/issues/44286d151f9
Throw exception on invalid LockMode74bc147
Merge pull request #4400 from BenMorel/with-nolockDependabot 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 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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)