Fabio La Farcioli wrote:
stavo pensando di migrare i DB MySQL a PostgreSQL in maniera
indolore, ovvero evitando di reinsirire tutti i dati a mano...cosa
impossibile!
ora io non conosco MySQL, ma quello che farei ... o cercherei di fare
... è il seguente:
1) creerei per ogni riga di ogni tabella una stringa dove inserirei
ogni singola colonna con un separatore da me scelto (es: | che di
solito non è mai usato all'interno dei dati) ... questo punto è
semplice se in MySql esiste una tabella che elenca le tabelle presenti
nel database e un'altra che per ogni tabella elenca i campi di ogni
tabella, basta creare un ciclo innestato con un case per i vari tipi
di dati utilizzati
Nota: questa parte potrebbe non essere banale da realizzare se ci sono
tipi di dati complessi (es: geospaziali)
2) esporterei il contenuto delle tabelle così ottenuto
3) importerei il tutto in PostgreSQL
4) farei una procedura che rimette i dati al loro posto nel nuovo db
(in PostgreSQL esistono funzioni adatte a spezzare una stringa in
sotto-stringhe dove ogni sotto-stringa è divisa da separatori)