From e498f65f415725da541510371f9d4b5eb0d88b2e Mon Sep 17 00:00:00 2001 From: Anja Leichsenring <aleichsenring@ab-softlab.de> Date: Sat, 3 Dec 2016 09:27:03 +0100 Subject: [PATCH] [FOLLOWUP][BUGFIX] Respect SQL table names max length in install tool Respect the max length of 64 chars in sql if removing (renaming) an SQL table. Add unit test. Resolves: #78636 Releases: master Change-Id: I94f38c40f6539d5e53e2ac9bad5ed1c059836333 Reviewed-on: https://review.typo3.org/50865 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Manuel Glauser <mail@manuelglauser.ch> Tested-by: Manuel Glauser <mail@manuelglauser.ch> Reviewed-by: Jan Helke <typo3@helke.de> Tested-by: Jan Helke <typo3@helke.de> --- .../Tests/Unit/Database/Schema/ConnectionMigratorTest.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/typo3/sysext/core/Tests/Unit/Database/Schema/ConnectionMigratorTest.php b/typo3/sysext/core/Tests/Unit/Database/Schema/ConnectionMigratorTest.php index 207b32033191..3f9e6d6db3bf 100644 --- a/typo3/sysext/core/Tests/Unit/Database/Schema/ConnectionMigratorTest.php +++ b/typo3/sysext/core/Tests/Unit/Database/Schema/ConnectionMigratorTest.php @@ -34,6 +34,7 @@ class ConnectionMigratorTest extends UnitTestCase */ public function tableNamesStickToTheMaximumCharactersWhenPrefixedForRemoval() { + $maxTableNameLength = 64; $ridiculouslyLongTableName = 'table_name_that_is_ridiculously_long_' . random_bytes(200); $tableMock = $this->getAccessibleMock(Table::class, ['getQuotedName'], [$ridiculouslyLongTableName]); $tableMock->expects($this->any())->method('getQuotedName')->withAnyParameters()->will($this->returnValue($ridiculouslyLongTableName)); @@ -52,8 +53,8 @@ class ConnectionMigratorTest extends UnitTestCase $this->assertStringStartsWith('zzz_deleted_', $renamedSchemaDiff->changedTables[0]->newName); $this->assertLessThanOrEqual( - strlen($renamedSchemaDiff->changedTables[0]->newName), - $this->maxTableNameLength + $maxTableNameLength, + strlen($renamedSchemaDiff->changedTables[0]->newName) ); } } -- GitLab