Bug #89848
openDatabase Analyzer crashes with undefined enum fields
0%
Description
When you have a field in a column of type enum that is not specified in a sql file in the installation, the Database Analyzer in the install tool will crash and throws the error "array_map(): Argument #2 should be an array in /var/www/html/typo3/sysext/core/Classes/Database/Schema/Types/EnumType.php line 38". When you have the definition in a sql file of an extension, this won't cause an issue.
How to reproduce:
- Create a new field in tt_content with type enum and some values and a random name
- Go to Database Analyzer in install tool and run it
Files
Updated by Susanne Moog almost 5 years ago
- File Annotation 2019-12-05 151443.png Annotation 2019-12-05 151443.png added
- Status changed from New to Needs Feedback
Hmm, I did:
alter table tt_content
add foobar enum('foo', 'bar') null;
Result - see attached screenshot. Database Analyzer is fine.
Updated by Richard Haeser almost 5 years ago
Just executed your SQL and I get in the database analyzer:
TYPO3\CMS\Core\Error\ErrorHandler->handleError(2, 'array_map(): Argument #2 should be an array', '/var/www/html/typo3/sysext/core/Classes/Database/Schema/Types/EnumType.php', 38, array('fieldDeclaration' => array('name' => 'zzz_deleted_foobar', 'type' => object(TYPO3\CMS\Core\Database\Schema\Types\EnumType), 'default' => 'NULL', 'notnull' => false, 'length' => null, 'precision' => 10, 'scale' => 0, 'fixed' => false, 'unsigned' => false, 'autoincrement' => false, 'columnDefinition' => null, 'comment' => ''), 'platform' => object(Doctrine\DBAL\Platforms\MariaDb1027Platform)))
MariaDB: 10.2
Default DDEV setup (v1.11)
Updated by Richard Haeser almost 5 years ago
When I change \TYPO3\CMS\Core\Database\Schema\Types\EnumType::getSQLDeclaration to make sure an array is always forced, I get the same result as you. But try to execute that update command ;-)
Updated by Gerrit Code Review almost 5 years ago
- Status changed from Needs Feedback to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/62543
Updated by Gerrit Code Review over 3 years ago
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/62543
Updated by Markus Klein 4 months ago
- Related to Task #100277: Introduce DatabaseType enum added
Updated by Markus Klein 4 months ago
- Related to Bug #97498: MariaDB + enum field generates endless DB comparison loop due to wrong/twice string escaping of default value added