Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[BUGFIX] Ensure
Comparator
knows the current platform
Doctrine DBAL 3.x has been introduced into TYPO3 v12 with #96287 and raised over the time, adding the one or other deprecation and dual code branches and some compat layers. The `\Doctrine\DBAL\Schema\Comparator::compareSchemas()` for example is still static and instantiaces itself, and therefore not properly handing over the platform. The missing platform does not execute the new way of using `AbstractPlatform::columnsEqual()`, but renders the platform specific handlings useless - specially added for MySQL based platforms, for example the datbase type `TEXT` length check and comparision. This change passes the platform down to the inner `Comparator` instance to ensure that the platform specific handling can work. To avoid the new way using the `AbstractPlatform::columnsEqual()` which introduces incompatible checks for now, that method is overriden and the `diffColumn()` check used. That allows the proper TEXT sub-type handling with MySQL and MariaDB while supressing noise for now. Note: This is also done currently in TYPO3 v13. Resolves: #103348 Related: #96287 (Doctrine DBAL 3.2) Releases: 12.4 Change-Id: If130c73ff122d09a50158bc3ac53f28f9a4eb749 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83457 Reviewed-by: Garvin Hicking <gh@faktor-e.de> Reviewed-by: Stefan Bürk <stefan@buerk.tech> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christophe Monard <contact@cmonard.fr> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: core-ci <typo3@b13.com> Reviewed-by: Christophe Monard <contact@cmonard.fr> Reviewed-by: Developer Archriss <typo3@archriss.com> Tested-by: Stefan Bürk <stefan@buerk.tech> Tested-by: Garvin Hicking <gh@faktor-e.de> Tested-by: Developer Archriss <typo3@archriss.com>
- Loading branch information