diff --git a/docs/en/reference/platforms.rst b/docs/en/reference/platforms.rst index 1cc1f6dfee4..3835fd62f1c 100644 --- a/docs/en/reference/platforms.rst +++ b/docs/en/reference/platforms.rst @@ -35,6 +35,7 @@ MySQL - ``MySQLPlatform`` for version 5.7 (5.7.9 GA) and above. - ``MySQL80Platform`` for version 8.0 (8.0 GA) and above. +- ``MySQL84Platform`` for version 8.4 (8.4 GA) and above. MariaDB ^^^^^ diff --git a/src/Driver/AbstractMySQLDriver.php b/src/Driver/AbstractMySQLDriver.php index 52ed2508526..5d33e04e4ad 100644 --- a/src/Driver/AbstractMySQLDriver.php +++ b/src/Driver/AbstractMySQLDriver.php @@ -13,6 +13,7 @@ use Doctrine\DBAL\Platforms\MariaDB1060Platform; use Doctrine\DBAL\Platforms\MariaDBPlatform; use Doctrine\DBAL\Platforms\MySQL80Platform; +use Doctrine\DBAL\Platforms\MySQL84Platform; use Doctrine\DBAL\Platforms\MySQLPlatform; use Doctrine\DBAL\ServerVersionProvider; use Doctrine\Deprecations\Deprecation; @@ -53,6 +54,10 @@ public function getDatabasePlatform(ServerVersionProvider $versionProvider): Abs return new MariaDBPlatform(); } + if (version_compare($version, '8.4.0', '>=')) { + return new MySQL84Platform(); + } + if (version_compare($version, '8.0.0', '>=')) { return new MySQL80Platform(); } diff --git a/src/Platforms/Keywords/MySQL84Keywords.php b/src/Platforms/Keywords/MySQL84Keywords.php new file mode 100644 index 00000000000..4e6422d3c94 --- /dev/null +++ b/src/Platforms/Keywords/MySQL84Keywords.php @@ -0,0 +1,38 @@ +