TYPO3条件ext_tables.sql依赖于现有表

TYPO3条件ext_tables.sql依赖于现有表,typo3,Typo3,通常,如果要为扩展扩展扩展表,可以在ext\u tables.sql中使用类似的内容: CREATE TABLE tt_address ( tx_myext_field varchar(255) DEFAULT '' NOT NULL, ); 但是,如果您没有安装tt_地址,则仍将创建该表。我能阻止吗 如果您现在明白为什么我要安装扩展另一个的扩展,并阻止插入表字段;) 在我的例子中,我想创建一个扩展,可以扩展fe_用户、tt_地址和其他表。但我希望用户可以设计,他想使用。fe_用户、t

通常,如果要为扩展扩展扩展表,可以在
ext\u tables.sql
中使用类似的内容:

CREATE TABLE tt_address (
    tx_myext_field varchar(255) DEFAULT '' NOT NULL,
);
但是,如果您没有安装tt_地址,则仍将创建该表。我能阻止吗

如果您现在明白为什么我要安装扩展另一个的扩展,并阻止插入表字段;)

在我的例子中,我想创建一个扩展,可以扩展fe_用户、tt_地址和其他表。但我希望用户可以设计,他想使用。fe_用户、tt_地址、两者或其他。用户可以在ext配置中选择这一点


这方面有什么最佳做法吗?

何必麻烦呢?当创建表
tt\u address
时,没有安装扩展名
tt\u address
,它不会伤害任何人。也许您想在ext_conf_template.txt上显示一个提示,您需要安装
tt_address
才能使用该功能


计划B是在一些PHP代码中修改DB表——后端模块或前端插件将是“最糟糕的做法”。但是它可以制作一个更新脚本class.ext_update.php,在添加字段之前检查表是否已经存在。但是更新功能必须在数据库更新之外执行。

谢谢,我考虑了不同的解决方案,并认为我使用了另一种方法。因为我需要向导的字段,所以我只提供向导,用户必须手动添加字段或提供扩展名。