-
Adds a class that auto creates TYPO3 "management" related database columns and indexes based on TCA 'ctrl' information without having them specified in ext_tables.sql. The feature .rst file outlines field details. Goals: * Save extension developers time. * Less copy+paste issues and different general fields definitions. * Reduce number of boilerplate fields in ext_tables.sql. * Bring schema of management fields under core control. Non goals: * No full substitution of ext_tables.sql by TCA: "Business" fields from 'columns' are NOT created automatically. This would require further thoughts and code disentangling. * No new extension API. * No "migration" approach or similar. Notable patch details: * The patch is a revamped version of issue #81234 that has been abandoned. As requested in the review of #81234, the code now hooks in after ext_tables.sql has been parsed into the doctrine schema. * Field defintions of ext_tables.sql take precedence, auto fields are only added if ext_tables.sql does not define a column or index. This makes the patch fully backwards compatible. * No deprecation for obsolete field definitions in ext_tables.sql is logged. * Many core fields are aligned to a central definition and slightly change. For instance "uid" is now always an unsigned int. * Reduce all core's ext_tables.sql files as well as the functional testing related ext_tables.sql files down to the business fields * A relatively huge series of test adaptions: Especially the ext:impexp related functionals now create dumps with differently sorted fields - This is no problem during import. * Field t3_origuid of sys_file_reference has never been registered in TCA as ['ctrl']['origUid'], is thus unused and removed as obsolete. * The extension manager no longer applies possible destructive changes, it only adds missing columns and tables when loading / updating extensions. It however considers *all* ext_tables.sql files, not only the one the extension in question provides. See the important .rst file for details. Change-Id: I640a7c7da3b63bac21a71102f253aa2d1bef4391 Resolves: #85160 Related: #81234 Releases: master Reviewed-on: https://review.typo3.org/57121 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by: Benni Mack <benni@typo3.org> Tested-by: Benni Mack <benni@typo3.org>
7b2319ff