3

通常如果你想为一个扩展扩展一个表,你可以使用这样的东西ext_tables.sql

CREATE TABLE tt_address (
    tx_myext_field varchar(255) DEFAULT '' NOT NULL,
);

但是,如果您尚未安装 tt_address,则无论如何都会创建该表。我可以防止这种情况吗?

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

就我而言,我想创建一个可以扩展 fe_user、tt_address 和其他表的扩展。但我希望用户可以决定他想使用的内容。fe_users、tt_address、both 或其他等。用户可以在 ext 配置中选择它是完美的。

有什么最佳做法吗?

4

1 回答 1

0

何苦?tt_address在未安装扩展程序的情况下创建表时tt_address,它不会伤害任何人。也许您想在 ext_conf_template.txt 上显示您需要tt_address安装才能使用该功能的提示。

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

于 2013-09-30T13:51:15.043 回答