On 24/08/11 12:13, Antonio Galea wrote: > 2011/8/24 Daniele Nicolodi <daniele@xxxxxxxxxx>: >> >> Sto cercando di scrivere dei test per la procedura di upgrade della >> struttura (schema) di un datanase (nello specifico MySQL, non dite nulla >> non ho scelto io). Prima di mettermi a scrivere un tool adhoc per >> comparare la struttura del db dopo ogni step di migrazione con quella >> attesa, volevo controllare che qualcosa di generico non esistesse già. >> Se questo qualcosa di esistente fosse in Python, sarebbe molto molto >> gradito. > > In Python conosco South - è specifico per Django, però. South l'avevo visto, ma non è il tool che cerco. South prende delle descrizioni ORM della struttura di un database e genera l'SQL per passare da una all'altra. Ma non genera una rappresentazione della struttura attuale del database, che in sostanza è quello che vorrei generare io. > Questo tool di MySQL fa differenze tra schemi e db live: > > http://www.mysql.com/products/workbench/features.html Non ho approfondito, ma mi sembra un po' troppo "clickettoso" per le mie esigenze. Vorrei più una libreria che un'applicazione. > Cerca "schema evolution" e vedrai che trovi parecchio altro. Se non vado errato, i tool di "schema evolution" prendono due descrizioni della struttura di un database e generano l'SQL per l'evoluzione dello schema dalla una versione all'altra. Questo non è quello che mi serve: per l'applicazione in oggetto non è difficile gestire l'evoluzione a mano, ed è già fatto. Qullo che mi interessa è più che altro "schema introspection": ti do un database, tu mi restituisci una rappresentazione del suo schema. Io poi genero la rappresentazione dello schema dopo la mia procedura di "evoluzione" e la confronto con quella attesa. Continuo la ricerca... Ciao -- Daniele -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx