Bug #89235

Database fields not created when installing extension with dependency

Added by Oliver Hader over 1 year ago. Updated 7 months ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Extension Manager
Start date:
2019-09-23
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

TYPO3 v9.5.10-dev

  • installing extension focuspoint which has dependency to extension autoload (bot extensions not available in installation in this scenario)
  • extension installation works fine - however, new database fields of focuspoint are not created (can be verified by checking in install tool, database analyzer)
#1

Updated by Oliver Hader over 1 year ago

  • Target version set to Candidate for patchlevel
#2

Updated by Susanne Moog about 1 year ago

  • Status changed from New to Needs Feedback

I'm confused. I wanted to reproduce the issue and debugged the installation. updateDatabase is called after activation of both packages in my installation, however: focuspoint (I guess this one: https://github.com/lochmueller/focuspoint/) does not have any ext_tables.sql fields defined and therefor there is nothing created - and the dependent extension autoloader also does not have any db fields. I don't quite get it.

#3

Updated by Oliver Bartsch 7 months ago

  • Status changed from Needs Feedback to Closed

Hi, I also tried to reproduce this. It's actually true, the tables for ext:focuspoint are not added during install. Reason therefore seems to be the way these extensions handle database and TCA definitions. As Susi already mentioned, there is no ext_tables.sql file in in neither of the two extensions. Furthermore the TCA has no valid `ctrl` (see: https://github.com/lochmueller/focuspoint/blob/master/Configuration/TCA/tx_focuspoint_domain_model_dimension.php) section for management fields.

This is all handled AFAICS dynamically by ext:autoload using so called "smart objects".

From the extension configuration:

You do not need any SQL in your ext_tables.sql file, because the smart object management register all smart objects via a slot at the database. But you can still use the ext_tables.sql if you have any kind of special tables like mm-relation tables.
Please also use the TcaFiles loader to create the right base TCA files for the first content objects.

This whole custom implementation obviously only works after the both extensions are installed. The issues lies in how these extensions handle the configuration and registration process.

Therefore this is no bug in the core and I'll close this issue for now. If you feel there is still something not working in core, please let me know and I'll reopen the issue.

Also available in: Atom PDF