packagist doctrine/dbal v2.10.0
Release v2.10.0

latest releases: 5.0.x-dev, 4.1.x-dev, 4.0.x-dev...
4 years ago

Release v2.10.0

Build Status

This is a minor release of Doctrine DBAL that aggregates over 70 fixes and improvements developed by 25 contributors over the last year.

This release focuses on internal code quality improvement and deprecating the functionality identified for removal in the next major release.

Note that PHP 7.2 is now the minimum supported PHP version.

Backwards Compatibility Breaks

This release introduces a minor BC break. Default column values are no longer handled as SQL expressions. They are converted to SQL literals (e.g. escaped). The previous behavior was not portable and was never by design.

Clients must now specify default values in their initial form, not in the form of an SQL literal (e.g. escaped).

Before:

$column->setDefault('Foo\\\\Bar\\\\Baz');

After:

$column->setDefault('Foo\\Bar\\Baz');

Deprecations

  • The usage of the getDriver(), getDatabasePlatform() and getSchemaManager() methods of the ConnectionEventArgs class has been deprecated.
  • The usage of the getDatabasePlatform() method of the SchemaColumnDefinitionEventArgs class has been deprecated.
  • The usage of the getHost(), getPort(), getUsername() and getPassword() methods of the Connection class has been deprecated.
  • Passing multiple SQL statements as an array to SchemaAlterTableAddColumnEventArgs::addSql() and the same method in other SchemaEventArgs-based classes is deprecated.
  • Calling AbstractSchemaManager::tablesExist() with a string argument is deprecated.
  • Calling OracleSchemaManager::createDatabase() without an argument or by passing NULL is deprecated.
  • Unused schema manager methods are deprecated.
    • AbstractSchemaManager::_getPortableFunctionsList(),
    • AbstractSchemaManager::_getPortableFunctionDefinition(),
    • OracleSchemaManager::_getPortableFunctionDefinition(),
    • SqliteSchemaManager::_getPortableTableIndexDefinition().
  • The usage of NULL to indicate empty $username or $password when calling Doctrine\DBAL\Driver::connect() is deprecated.
  • Method Doctrine\DBAL\Platforms::_getAlterTableIndexForeignKeySQL() has been deprecated as no longer used.
  • Property Doctrine\DBAL\Driver\OCI8\OCI8Statement::$_PARAM has been deprecated as not used.
  • Method Doctrine\DBAL\Driver::getName() is deprecated.
  • The usage of user-provided PDO instance is deprecated.
  • Type::* constants are deprecated.
  • The Doctrine\DBAL\Driver\SQLSrv\SQLSrvStatement::LAST_INSERT_ID_SQL constant has been deprecated.
  • The constants in Doctrine\DBAL\SQLParserUtils have been deprecated.
  • The Doctrine\DBAL\Logging\LoggerChain::addLogger method has been deprecated.

Please see the details in the UPGRADE.md documentation.

New Features and Improvements

MySQL-related changes:

Driver level changes:

Schema management:

Types improvements:

Compatibility with Symfony 5:

Query Builder:

Logging:

Code quality improvements:

Test suite improvements:

Documentation improvements:

CI improvements:

Deprecations:

Don't miss a new dbal release

NewReleases is sending notifications on new releases.