Project

General

Profile

Actions

Task #105208

closed

Ensure correct type resolving in `AbstractSchemaManager`

Added by Stefan Bürk 15 days ago. Updated 5 days ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
Database API (Doctrine DBAL)
Target version:
-
Start date:
2024-10-05
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
13
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

Doctrine DBAL 4.x removed the feature to save specific type
information as part of the column comment and for reading
the database schema with `AbstractSchemaManager` hierarchy
classes.

That also includes the option to enable and disable this
feature along with setting in type classes which needs to
write the custom information in case used database do not
support it natively - or for implemented custom type.

Doctrine postulate that it is the responsibility of the
application or framework to keep track of a precise and
cross database schema on own behalf, where the provided
schema information retrieved with the Doctrine DBAL
`AbstractSchemaManager` implementation are types which
would produce the same database structure for that vendor.

The possible TYPO3 counterpart for expected field types is
`$GLOBALS['TCA']` (TcaSchemaFactory), but does not really
ensure to hold all information, because TYPO3 allows extension
authors to define tables not managed by TYPO3 (TCA) with
`ext_tables.sql` files.

With #99062 the introduction of the native JSON database field
support it has been postulated that simply providing an array
for `Connection` methods like `insert` or `update` and using
`DataHandler` for TCA-type JSON handles this for all databases,
even if not nativly supported. That broke in TYPO3 v13 due to
the breaking change of Doctrine.


Related issues 5 (2 open3 closed)

Related to TYPO3 Core - Bug #105004: PHP Warning: Array to string conversion when persisting JSON data (persists "Array" if warnings are silenced)ClosedStefan Bürk2024-09-17

Actions
Related to TYPO3 Core - Bug #105005: Webhooks Exception if invalid JSON in database field additional_headersUnder ReviewStefan Bürk2024-09-17

Actions
Related to TYPO3 Core - Feature #99062: Native JSON field support in Doctrine DBALClosedBenni Mack2022-11-11

Actions
Related to TYPO3 Core - Bug #104781: Database compare seems to be brokenAcceptedStefan Bürk2024-08-30

Actions
Related to TYPO3 Core - Task #105280: [TASK] Ensure corect value preparation for test assertionClosedStefan Bürk2024-10-11

Actions
Actions

Also available in: Atom PDF