Joomla.it Forum
Non solo Joomla... => Sviluppo => : 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
-
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">
-
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?
-
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