Joomlaがコンポーネントを自動的に実行するには、SQLファイルをコンポーネントに配置する必要があるフォルダーを教えてください。最初のバージョンでテーブルを作成し、それ以降のバージョンで変更したい場合、joomlaが実行する必要のあるファイルを知っているように、それらのファイルをどのように整理する必要がありますか?joomlaはこれらのファイルをどのように管理しますか?
ミルトンがすでに書いたように、それらのSQLファイルがインストールマニフェストファイルのどこにあるかを指定します。インストール、アンインストール、更新には3つの異なる場所があります。
<install>
<sql>
<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
</sql>
</install>
<uninstall>
<sql>
<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>
<update>
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>
ご覧のとおり、update
oneは単一のファイルではなくフォルダを指定しているため、少し特殊です。このフォルダには、コンポーネントのバージョンに従うファイルが含まれているはずです。更新時に、Joomlaはそのフォルダーをチェックし、ファイル内のコマンドを正しい順序で適用します。最後に適用されたファイルがデータベースに保存されるため、最後に適用されたファイルが次の更新時にわかります。したがって、フォルダーには次のような名前のファイルが含まれている必要があります。
通常の規則はadminディレクトリですが、メインのxmlファイル内でファイルの場所を正しく参照している限り、それ以上は問題になりません。
お気に入り:
<install>
<sql>
<file driver="mysql" charset="utf8">sql/tables/install.sql</file>
</sql>
</install>
または:
<install>
<sql>
<file driver="mysql" charset="utf8">sql/install.sql</file>
</sql>
</install>