Archivio per Maggio, 2008
Convertire un database PostgreSQL in MySQL e viceversa
Mag 10
Nel senso che a differenza della conversione da SQL Server a mysql o da Access ad esempio, per i quali esiste il tool realizzato direttamente da mysql, mysql Migration Toolkit, per PostgreSQL questo software non ci aiuta.
Durante la ricerca di qualcosa di ben funzionante mi sono imbattuto in:
DB Convert for mysql and PostgreSQL 2.0.x
Questo software consente in modalità trial di importare solo 10 record per tabella. E’ sufficiente nel caso sia necessario solo ripristinare la struttura, nel caso import di dati invece risulta insufficiente.
Per poter disporre delle funzionalità complete è sufficiente acquistarlo ad una cifra ragionevole di 69 dollari.
Il software dopo l’installazione consente una comoda migrazione di tutto quanto. La migrazione può essere bidirezionale.
La stessa software house propone altri tool come il sync.
Sono disponibili inoltre migrazioni da svariati altri database.
Per maggiori informazioni: http://www.dbconvert.com
[AutoSheet 0.1 beta] – Auto DataSheet in PHP
Mag 8
L’altro giorno stavo cercando su internet una funzione, classe, qualcosa in php che mi permettesse dato un record set sostanzialmente contenente un unico record di poter generare in automatico una scheda o profilo.
In pratica per tabelle che richiedano la visualizzazione di molteplici informazioni, campi e quantaltro è sempre una menata costruire l’HTML necessario per poi stampare i dati. Questo in particolare quanto si ha a che fare con sistemi informativi complessi. Capita meno frequentemente nella realizzazione di siti web.
Dal momento in cui, a differenza che per quanto riguarda i paginatori, dove c’è l’imbarazzo della scelta, non ho trovato nulla di utile.
Allora ho deciso di fare da me.
Premetto che è una versione molto fresca e ancora da sviluppare, testare, evolvere etc… ma voglio comunque pubblicarla.
Di seguito il codice (scusate ma si perde l’indentazione corretta):
// Funzione che genera il datasheet basato su N colonne, campo => valore e configurando il layout function autoSheet($arr, $cols = 4, $border = 0, $cellspacing = 0, $cellpadding = 5, $classfield = “field”, $classdato = “dato”, $caption = “Scheda”)
{
// Calcolo il ceil del numero delle righe che avrò bisogno
$rows = ceil(count($arr) / ($cols / 2));
$html = ‘<table width=”100%” border=”0″ cellspacing=”0″ cellpadding=”5″>’.”\n”;
$html .= ‘<caption>’.$caption.’</caption>’.”\n”;
for($i = 0; $i < $rows; $i++)
{
$html .= ‘<tr>’.”\n”;
for($j = 0; $j < ($cols / 2); $j++)
{
$html .= ‘<td class=”‘.$classfield.’”>’.strtoupper(str_replace(”_”, ” “, key($arr))).’</td>’.”\n”; $html .= ‘<td class=”‘.$classdato.’”>’.current($arr).’</td>’.”\n”; next($arr); } $html .= ‘</tr>’.”\n”;
}
$html .= ‘</table>’.”\n”; return $html;
}
In pratica come funziona:
Tutto quello che dobbiamo fornire a questa funzione è un semplicissimo array associativo dove la chiave rappresenta l’etichetta di una colonna, e il rispettivo valore rappresenta il risultato estratto da database.
Per poter avere una rappresentazione carina delle etichetta ho fatto in modo che nell’SQL che estraggo rinomino i campi mettendo degli _ che poi vado a sostituire con degli spazi.
Naturalmente sarà in futuro necessario prevedere altre features per dati di tipo particolare etc, però va visto a regime e in base ai casi concreti che si presentano.
Oltre all’array poi è semplicemente intuibile la possibilità di passare una serie di dati (opzionali) per formattare la tabella.
QUESTA FUNZIONE E’ LIBERAMENTE UTILIZZABILE, ESPANDIBILE E QUANTALTRO.
Si chiede solo la gentilezza di postare un commento in caso di modifiche importanti al fine di permettere a tutta la comunità di sfruttare questi miglioramenti.
In futuro questo post sarà oggetto di modifiche e integrazioni man mano che la espando e lavoro.
Ciao. Maxgrante
