it-swarm-tr.com

Bileşenimdeki sql dosyalarının yapı klasörü

Joomla için otomatik olarak yürütmek için sql dosyalarımı bileşenime hangi klasöre koymalıyım? İlk sürümde bir tablo oluşturduysam ve sonraki sürümde değiştirmek istiyorum, joomla hangi dosyaları yürütmesi gerektiğini bilmesi için bu dosyaları nasıl organize etmeliyim?

6
csbenjamin

Milton'ın zaten yazdığı gibi, bu SQL dosyalarının yükleme manifest dosyasında nerede olduğunu belirtirsiniz. Yükleme, kaldırma ve güncelleme için üç farklı konum vardır.

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

Gördüğünüz gibi, update one, tek bir dosya değil bir klasör belirttiği için biraz özel. Bu klasörde bileşen sürümlerinizi izleyen dosyalar bulunmalıdır. Bir güncellemede Joomla bu klasörü kontrol eder ve dosyalardaki komutları doğru sırada uygular. Uygulanan en son dosyayı veritabanında saklar, böylece bir sonraki güncellemede en son hangisinin uygulandığını bilir. Bu nedenle klasör şu şekilde adlandırılmış dosyalar içermelidir:

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

Kural genellikle yönetici dizinidir ancak bunun ötesinde, dosyaların konumlarını ana xml dosyanızın içine doğru bir şekilde başvurduğunuz sürece önemli olmamalıdır.

sevmek:

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

veya:

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