Joomla.it Forum

Non solo Joomla... => Sviluppo => : iacoposk8 17 Feb 2012, 12:21:50

: Aggiornare estensioni
: iacoposk8 17 Feb 2012, 12:21:50
Ciao a tutti! ho creato un componente per joomla.
Quando lo installi lancia un file sql che crea le tabelle.
Quando lo si disinstalla un file distrugge le rabelle.
Ma se uno volesse aggiornarlo? basta che installi la nuova versione senza disinstallare la vecchia e sovrascriverà i file? (chi edo perchè non so se è così che si fa :D )
E se si fa così come faccio a farlo funzionare anche io in questo modo? perchè se faccio così i file sono aggiornati, ma mi cancella tutti i record del db... e io non vorrei
: Re:Aggiornare estensioni
: jonxduo 17 Feb 2012, 17:10:55
all'interno del file xml di installazione aggiungi:
:
<update>
   <schemas>
      <schemapath type="mysql">sql/updates/mysql</schemapath>
   </schemas>
</update>


poi nella cartella: tuocomponente/admin/sql


crei una cartella: updates/mysql


al cui interno salverai un file sql contenente le modifiche al DB della nuova versione... e lo chiamerai:
1.0.1.sql
1.0.2.sql
1.0.3.sql


ovviamente il nome deve coincidere con la nuova versione... e ancora + ovvio è che se non ci sono modifiche al DB il file rimane vuoto...


un'altra cosa ovvia... le prime due righe dell'xml devono essere queste:
:

<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="1.6.0" method="upgrade">
: Re:Aggiornare estensioni
: iacoposk8 17 Feb 2012, 17:23:46
ma 1.0.1, 1.0.2, 1.0.3 si riferiscono alle versioni future giusto?
e io come faccio sapere se e come modificherò lo struttura del db? :)

o sono cose che si inseriscono ai file vecchi una volta che sono prodotti i nuovi?
: Re:Aggiornare estensioni
: jonxduo 17 Feb 2012, 17:27:33
no...  sono esempi...


se sei alla versione 1.0.1 e fai un aggiornamento 1.0.2 devi:


scrivere nel file xml (della 1.0.2 ovviamente) alla riga versione:
:
<version>1.0.2</version>

e nella cartella creare:
1.0.2.sql