ti-enxame.com

Pasta de estrutura de arquivos sql no meu componente

Qual pasta devo colocar meus arquivos sql no meu componente para o joomla executá-los automaticamente? Se na primeira versão eu criei uma tabela e na versão posterior quero mudar, como devo organizar esses arquivos para que o joomla saiba quais arquivos ele deve executar? Como o joomla gerencia esses arquivos?

6
csbenjamin

Como Milton já escreveu, você especifica onde esses arquivos SQL estão no arquivo de manifesto de instalação. Existem três locais diferentes para instalação, desinstalação e atualização.

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

Como você vê, o update one é um pouco especial, pois não especifica um único arquivo, mas uma pasta. Nesta pasta, deve haver arquivos seguindo as versões do seu componente. Em uma atualização, o Joomla verificará essa pasta e aplicará os comandos nos arquivos na ordem correta. Ele armazena o arquivo mais recente aplicado no banco de dados para saber na próxima atualização qual foi a última aplicada. Portanto, a pasta deve conter arquivos com o seguinte nome:

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

A convenção geralmente é o diretório admin, mas além disso não deve importar, desde que você faça referência correta à localização dos arquivos dentro do seu arquivo xml principal.

gostar:

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

ou:

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