La gestione degli Schema di database è uno dei principali problemi dei reparti IT e dei DBA, non di rado infatti questa procedura richiede un impegnativo lavoro da operare manualmente. Trattandosi però di una problematica comune a diversi professionisti, negli anni sono state sviluppate diverse soluzioni volte a semplificare questa fase. A tal proposito questa volta vogliamo parlavi di Skeema.
Si tratta di un tool open source, scritto in linguaggio Go, per il managing delle tabelle di MySQL e delle modifiche a carico degli Schema. Sostanzialmente Skeema è stato ideato per essere d'auiuto nelle migrazioni tra un tipo di database ad un altro, capita infatti sempre più spesso di dover interagire con database presenti in diversi environment, dunque i creatori del progetto hanno sviluppato dei tool per garantire una gestione semplificata ed automatizzata di tali processi.
Skeema fornisce appunto una CLI (cioè un'interfaccia da riga di comando) dalla quale è possibile attivare degli strumenti che permettono di:
- Esportare le istruzioni CREATE TABLE
- evidenziare le differenze negli Schema repo cosi da generare automaticamente la struttura definita tramite DDL Data Definition Language
- gestire più ambienti alla volta (sviluppo, staging, produzione) e mantenerli sincronizzati tra loro;
- configurare l'uso dei tool per le modifiche degli Schema (istruzioni ALTER
- convertire migration locali in Schema per la produzione.
Skeema supporta inoltre i flussi di lavoro basati sulle pull-request Github