[!!!][TASK] Remove TCA for sys_history 73/60273/4
authorBenni Mack <benni@typo3.org>
Sat, 16 Mar 2019 18:49:20 +0000 (19:49 +0100)
committerDaniel Goerz <daniel.goerz@posteo.de>
Sun, 17 Mar 2019 13:21:16 +0000 (14:21 +0100)
TCA for sys_history is not necessary at all anymore, and
can be removed.

It was previously used for creating an Extbase Domain Model
for the BELog module created in TYPO3 6.0/6.1.

However, in 9.0 sys_history was decoupled from sys_log,
whereas the Domain Model and the usages for TCA was
not necessary anymore.

The previously "generated" database fields are re-added
manually in ext_tables.sql. The field "pid" which was necessary
for a TCA table is now dropped.

Resolves: #87936
Releases: master
Change-Id: Ia541e9a5c7d85f25b6ff3ceb7e3ee311300762e6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60273
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Alexander Schnitzler <typo3@alexanderschnitzler.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Alexander Schnitzler <typo3@alexanderschnitzler.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
typo3/sysext/core/Classes/Database/ReferenceIndex.php
typo3/sysext/core/Configuration/TCA/sys_history.php [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Breaking-87936-TCAForSysHistoryRemoved.rst [new file with mode: 0644]
typo3/sysext/core/ext_tables.sql
typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php

index 2c5334f..c6c8cb0 100644 (file)
@@ -60,7 +60,6 @@ class ReferenceIndex implements LoggerAwareInterface
      */
     protected static $excludedTables = [
         'sys_log' => true,
-        'sys_history' => true,
         'tx_extensionmanager_domain_model_extension' => true
     ];
 
diff --git a/typo3/sysext/core/Configuration/TCA/sys_history.php b/typo3/sysext/core/Configuration/TCA/sys_history.php
deleted file mode 100644 (file)
index b636806..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-return [
-    'ctrl' => [
-        'title' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_history',
-        'label' => 'tablename',
-        'tstamp' => 'tstamp',
-        'adminOnly' => true,
-        'rootLevel' => 1,
-        'hideTable' => true,
-        'default_sortby' => 'uid DESC',
-    ],
-    'columns' => [
-        'history_data' => [
-            'label' => 'history_data',
-            'config' => [
-                'type' => 'input'
-            ]
-        ],
-        'recuid' => [
-            'label' => 'recuid',
-            'config' => [
-                'type' => 'input'
-            ]
-        ],
-        'tablename' => [
-            'label' => 'tablename',
-            'config' => [
-                'type' => 'input'
-            ]
-        ],
-        'tstamp' => [
-            'label' => 'tstamp',
-            'config' => [
-                'type' => 'input'
-            ]
-        ],
-        'snapshot' => [
-            'label' => 'snapshot',
-            'config' => [
-                'type' => 'input'
-            ]
-        ]
-    ],
-    'types' => [
-        '1' => [
-            'showitem' => 'history_data, recuid, tablename, tstamp, snapshot'
-        ]
-    ]
-];
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-87936-TCAForSysHistoryRemoved.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-87936-TCAForSysHistoryRemoved.rst
new file mode 100644 (file)
index 0000000..b8d0498
--- /dev/null
@@ -0,0 +1,38 @@
+.. include:: ../../Includes.txt
+
+==============================================
+Breaking: #87936 - TCA for sys_history removed
+==============================================
+
+See :issue:`87936`
+
+Description
+===========
+
+The TCA definition for `sys_history` database table was removed. It was never shown in TYPO3 Backend,
+and only in use for the BElog module as Extbase Domain Model. However, this relationship between
+logs and sys_history was decoupled in TYP3 v9.0.
+
+The database field "pid" which was "0" at all times, is now removed.
+
+
+Impact
+======
+
+Accessing :php:`$GLOBALS[TCA][sys_history]` will trigger a PHP warning, and the contents of the array
+are not available anymore.
+
+
+Affected Installations
+======================
+
+Any TYPO3 installation with extensions accessing the global array by making use of
+`sys_history`.
+
+
+Migration
+=========
+
+If still needed, an extension should deliver the full TCA definition of `sys_history`.
+
+.. index:: Database, TCA, FullyScanned, ext:core
\ No newline at end of file
index dd7dcf9..d8273fe 100644 (file)
@@ -334,6 +334,8 @@ CREATE TABLE sys_collection_entries (
 # Table structure for table 'sys_history'
 #
 CREATE TABLE sys_history (
+       uid int(11) unsigned NOT NULL auto_increment,
+       tstamp int(11) unsigned DEFAULT '0' NOT NULL,
        actiontype tinyint(3) DEFAULT '0' NOT NULL,
        usertype varchar(2) DEFAULT 'BE' NOT NULL,
        userid int(11) unsigned,
@@ -343,6 +345,7 @@ CREATE TABLE sys_history (
        history_data mediumtext,
        workspace int(11) DEFAULT '0',
 
+       PRIMARY KEY (uid),
        KEY recordident_1 (tablename(100),recuid),
        KEY recordident_2 (tablename(100),tstamp)
 ) ENGINE=InnoDB;
index a4b97ca..9dc86a2 100644 (file)
@@ -246,4 +246,9 @@ return [
             'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
         ],
     ],
+    '$GLOBALS[\'TCA\'][\'sys_history\']' => [
+        'restFiles' => [
+            'Breaking-87936-TCAForSysHistoryRemoved.rst',
+        ],
+    ],
 ];