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、両方またはその他など。ユーザーが外部構成でこれを選択できるのは完璧です。

これに対するベストプラクティスはありますか?

4

1 に答える 1

0

なぜわざわざ?tt_address拡張機能がインストールされていない状態でテーブルが作成されても、tt_addressだれにも害はありません。その機能を使用するためにインストールする必要がある ext_conf_template.txt に関するヒントを表示したい場合がありtt_addressます。

プラン B は、一部の PHP コード内で DB テーブルを変更することです。バックエンド モジュールまたはフロントエンド プラグインは「最悪の方法」です。しかし、フィールドを追加する前にテーブルがすでに存在するかどうかをチェックする更新スクリプト class.ext_update.php を作成することはうまくいくかもしれません。ただし、データベースの更新に加えて、更新機能を実行する必要があります。

于 2013-09-30T13:51:15.043 に答える