Feature: #77643 - Reimplement SqlSchemaMigrationService using Doctrine SchemaManager

See forge#77643


The SqlSchemaMigrationService has been reimplemented using a LL(*) Parser for CREATE TABLE statements. The new parser supports MySQL syntax for CREATE TABLE statements. Based on the abstract syntax tree produced by this parser Doctrine Table objects are created that implement a DBMS independent representation of the schema and are used with the Doctrine SchemaManager to handle the schema migrations needs of the TYPO3 core.


Update suggestions from the new SchemaMigrator are per connection, on all additional connections only explicitly mapped tables are managed. MySQL specific data types are being mapped to the closest matching standard type, for example TINYINT to SMALLINT. The support for foreign keys has been enhanced as a result of the additional capabilities of the Doctrine SchemaManager.