it-swarm-id.com

Folder struktur file sql di komponen saya

Folder apa yang harus saya letakkan file sql saya di komponen saya untuk joomla menjalankannya secara otomatis? Jika dalam versi pertama saya membuat tabel dan dalam versi yang lebih baru saya ingin mengubah, bagaimana saya harus mengatur file sedemikian sehingga joomla tahu file apa yang harus dijalankan? Bagaimana joomla mengelola file-file ini?

6
csbenjamin

Seperti Milton sudah menulis Anda tentukan di mana file-file SQL dalam file manifes instal. Ada tiga lokasi berbeda untuk menginstal, mencopot dan memperbarui.

<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>

Seperti yang Anda lihat, file update agak istimewa karena tidak menentukan satu file tetapi folder. Di folder ini harus ada file yang mengikuti versi komponen Anda. Pada pembaruan Joomla akan memeriksa folder itu dan menerapkan perintah dalam file dalam urutan yang benar. Ini menyimpan file terapan terbaru dalam database sehingga ia tahu pada pembaruan berikutnya yang mana yang terakhir diterapkan. Jadi folder tersebut harus berisi file bernama seperti ini:

  • 1.0.0.sql
  • 1.0.1.sql
  • 1.1.0.sql
  • ...
9
Bakual

Konvensi biasanya direktori admin, tetapi di luar itu tidak masalah selama Anda mereferensikan lokasi file dengan benar di dalam file xml utama Anda.

seperti:

<install>
    <sql>
        <file driver="mysql" charset="utf8">sql/tables/install.sql</file>
    </sql>
</install>

atau:

<install>
    <sql>
        <file driver="mysql" charset="utf8">sql/install.sql</file>
    </sql>
</install>
4
Milton Bryant