{linkr:related;keywords:joomla;limit:5;title:Articoli Correlati}
In questi giorni ho riscontrato la necessità di rinomiare 85 tabelle mysql relative ad un sito internet realizzato tramite il CMS JOOMLA. Inizialmente ho provato utilizzando PHPMYADMIN (versione 3.2.4) ma, dopo una breve ricerca di qualche funzione che me lo permettesse, mi sono reso conto subito che risultava impossibile effettuare una rinomina globale e contemporanea di tutte le tabelle presenti del database (per intenderci, con aggiunta o rimozione di un suffisso stringa alle varie tabelle) ma che è possibile rinominare solo una tabella alla volta. Anche cercando brevemente su google non ho trovato nulla. Ora, nel mio caso, ho la necessità di aggiungere il suffisso (la stringa) "jos_" ad ogniuna delle 85 tabelle presenti. Penso di aver risolto il problema in modo semplice e veloce per cui ora vi espongo i dettagli.
In sostanza, ho creato in modo quasi automatico una query SQL per ogni tabella da rinominare, utilizzando un foglio di calcolo (nel mio caso OpenOffice Calc ma nulla vieta di utilizzare Excel). Le varie quey SQL generate tramite il foglio di calcolo sono state poi eseguite tramite PHPMYADMIN.
Ho estratto la lista di tutte le tabelle del database mysql utilizzando PHPMYADMIN (ma anche in questo caso, potete utilizzare lo strumento che più vi aggrada), l' ho riportata nel Foglio2 di OpenOffice Calc e, sul Foglio 1 di OpenOffic calc, ho inserito delle formule sulle stringhe atte a generarmi le query SQL necessarie.
Per estrarre la lista delle tabelle tramite PHPMYADMIN, ho selezionato il database per visualizzare tutte le tabelle e successivamente ho effettuato il "visualizza per stampa" , selezionate tutte le tabelle con il mouse , copiate negli appunti (CTRL + C) per il successivo "incolla" sul Foglio 2 di openOffice Calc (vedi le 3 figure seguenti).
FIG.1) Visualizzazione di tutte le tabelle tramite PHPMYADMIN (clicca sulla figura per ingrandire).
FIG.2) "visualizza per stampa" di tutte le tabelle tramite PHPMYADMIN , selezione con mouse di tute le tabelle e CTRL+C per copia sugli appunti.
FIG.3) Risultato dell' incolla su Foglio 2 di OpenOffice Calc.
Ora (vedi figura 4), potenza dei fogli di calcolo, è sufficiente concentrarsi sulle varie formule presenti in OpenOffice Calc (o Excel) relative al testo per cercare di generare la stringa completa della query SQL di rinomina delle tabelle. Nel mio caso, ho inserito in colonna F di Foglio 1 di OpenOffice Calc , il riferimento alla colonna B del Foglio 2, ciò solo per riportare il nome della tabella in Foglio1. In pratica, sulle celle di colonna F è presente la seguente formula:
Cella F3 -> =SE(Foglio2.B3<>"";Foglio2.B3;"")Cella F4 -> =SE(Foglio2.B4<>"";Foglio2.B4;"")
Cella F5 -> =SE(Foglio2.B5<>"";Foglio2.B5;"")
etc.
Nelle celle di colonna B e C, invece, ho inserito rispettivamente una formula per aggiungere una stringa iniziale al nome della tabella mysql (presente in colonna F del Foglio 1) ed una stringa finale al nome della tabella mysql. Le stringhe da aggiungere devono essere inserite in riga 2 delle colonne B e C e automaticamente le righe successive verranno popolate ogniuna con la query SQL di rename. Più in dettaglio e come esempio , in colonna B riga 3 ho inserito la formula
=SE(F3<>"";"rename table `"&ANNULLA.SPAZI(F3)&"` to `"&$B$2&ANNULLA.SPAZI(F3)&"`;";"")
mentre in colonna C riga 3 ho inserito la formula
=SE(F3<>"";"rename table `"&ANNULLA.SPAZI(F3)&"` to`"&ANNULLA.SPAZI(F3)&$C$2&";";"") .
Tali formule, sono state poi ripetute (sempre con copia-incolla) anche sulle righe successive. Per delucidazioni sulle funzioni di testo di OpenOffice Calc o Excel fare riferimento alle relative guide (ben fatte) dei due programmi.
FIG.4) Generazione delle query SQL di rinomina delle tabelle.
Fatto ciò, non rimane altro che selezionare tutte le celle della colonna contenente le query SQL, fare un bel copia negli appunti (CTRL+C), spostarsi su PHPMYADMIN, selezionare il nostro DataBase che contiene le tabelle da rinominare, cliccare su SQL ed incollare le query (CTRL+V) nella relativa textbox ed effettuare l' esecuzione delle query tramite il bottone "Esegui", come da Figura 5 seguente. La presenza di righe vuote tra una query SQL e la successiva non pregiudica in alcun modo l' esecuzione corretta di tutte le query.
FIG.4) Esecuzione delle query SQL di rinomina delle tabelle tramite PHPMYADMIN.
Ovviamente, sempre tramite foglio di calcolo, sarà possibile generare anche ulteriori query, sfruttando le funzioni testo che ogni foglio di calcolo mette a disposizione. Per esempio, con la funzione STRINGA.ESTRAI sarà possibile eliminare su tutte le tabelle il suffisso jos_ che ogni installazione del CMS JOOMLA normalmente inserisce davanti ad ogni nome di tabella.
Qui potrete trovare il file OpenOffice Calc riportato in questo esempio.
{jcomments on}
Pensi che questo articolo possa essere d' aiuto anche ad altri? Allora condividilo subito nel tuo social preferito.
Tweet Segui @Dillofacile
Lascia i tuoi commenti
Login per inviare un commento
Posta commento come visitatore