Vorrei ringraziare Tom Kyte per il post "Hear hear ", o meglio per il link che porta al blog di K. Scott Allen ,in particolara ad una serie di post intitolata "Versioning Databases", in cui questo blogger da delle linee guida (o best practices) che sarebbe utile seguire per la gestione della base dati quando si sviluppoa un prodotto.
La serie composta da 5 post:
1) Three rules for database work
2) The baseline
4) Views, Stored Procedures and the likes
Sono d'accordo con quasi tutto quando viene detto. Solo una parte mi lascia perplesso, la prima delle regole descritta nel primo post: "mai usare un database condiviso per i lavoro di sviluppo".
Nell'azienda dove lavoro grossomodo il ciclo di sviluppo e rilascio segue le regole descritte da Scott Allen, ad esclusione senz'altro di quella prima regola. Attualmente la ritengo inapplicabile al mio caso. I programmatori vogliono avere una base dati con dei dati con cui lavorare e moltiplicarle per 40/50 non una cosa facile da gestire. Non neppure facile addestrare ed imbrigliare i programmatori a seguire tali procedure, il rapporto vantaggi/svantaggi nella mia esperienza sarebbe senz'altro negativo.
In realt noi abbiamo un approccio semplificato e un po' pi disordinato. I programmatori depositano in un certo posto gli script relativi alle modifiche della base dati collegati ai loro sviluppi software, si fanno le modifiche in autonomia al database di sviluppo che condiviso. Quando qualcuno lo stabilisce si fa un rilascio in test che consiste nel raggruppare tutti gli script depositati dai programmatori, metterli in un unico script collegato alla versione del software e tale script viene inserito nel package software. Il package software contiene anche una procedura, lanciabile sia da linea di comando che dal programma stesso, quindi tramite interfaccia grafica, che si occupa di confrontare la versione della base dati con la versione del package software e di allinearla se necessario. Quindi quando si installa nell'ambiente di test la prima cosa a venir testata la correttezza degli script di aggiornamento della base dati.
Io, insieme a dei colleghi mi occupo di queste procedure di rilascio che inevitabilmente comportano un lavoro manuale piuttosto noioso di controllo e test degli script preparati dagli sviluppoatori, i quali non sono molto disciplinati.
Questo approccio alleggerisce i programmatori dalla responsabilit di preparare script assolutamente esenti da errori, trasferendo il compito di verificare, correggere e impacchettare tali script ai rilasciatori. Devo dire che dal punto di vista mio (cio dei rilasciatori) la cosa non fantastica, ma un ottimo compromesso. Si richiede cio alle poche persone che si occupano dei rilasci una maggior attenzione, lasciando ai programmatori (che sono un po' cos come dire, artisti) pi libert.
D'altra parte ai programmatori lasciata la gestione della base dati di sviluppo, quindi se fanno casini li si arrangiano fra loro.
| < Prev | Next > |
|---|






Feed Articoli

