Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Migrare database con Dbmate

Dbmate è una soluzione che consente di migrare database mantenendoli sincronizzati tra più server di produzione
Migrare database con Dbmate
Dbmate è una soluzione che consente di migrare database mantenendoli sincronizzati tra più server di produzione
Link copiato negli appunti

Dbmate è uno strumento Open Source per la migrazione di database che ha il vantaggio di garantire la sincronizzazione a livello di schema tra server di produzione e sviluppatori coinvolti nel medesimo progetto. Si tratta nello specifico di un tool da linea di comando che può essere utilizzato con diversi linguaggi e framework tra cui Go, PHP, Python, Node.js, Ruby e qualsiasi altra soluzione utilizzabile per la realizzazione di applicazioni costruite intorno alle basi di dati.

Le funzionalità di Dbmate

Dbmate risulta particolarmente utile quando si devono realizzare più servizi in linguaggi differenti. Sono supportati alcuni dei Database engine più popolari tra cui MySQL, PostgreSQL ed SQLite. Gli schemi di migrazione vengono realizzati utilizzando SQL e il versionamento basato sui timestamp impedisce che si verifichino conflitti tra i numeri delle release rilasciate dai vari sviluppatori. A livello tecnico ciascuna migrazione viene eseguito all'interno di una transaction.

Con Dbmate si possono sia creare che cancellare database, è supportata la lettura delle variabili di ambiente dal file .env e si possono salvare file schema.sql per effettuare diff tramite git con cui evidenziare e verificare le modifiche apportate. Gli URL per le connessioni ai database vengono definite utilizzando un variabile d'ambiente. Quest'ultima è DATABASE_URL come impostazione predefinita ma può essere specificata anche tramite linea di comando.

Installazione di Dbmate

Dbmate può essere installato in vari modi, ad esempio attraverso un'immagine Docker con il comando:

$ docker run --rm -it --network=host ghcr.io/amacneil/dbmate --help

In Linux l'installazione può essere effettuata sfruttando il binario per le architetture a 64 bit:

$ sudo curl -fsSL -o /usr/local/bin/dbmate https://github.com/amacneil/dbmate/releases/latest/download/dbmate-linux-amd64
$ sudo chmod +x /usr/local/bin/dbmate

In Windows è possibile utilizzare Scoop, un command-line installer appositamente dedicato ai sistemi operativi di Microsoft:

scoop install dbmate

Mentre su macOS basta sfruttare il Package Manager Homebrew:

$ brew install dbmate

La pagina ufficiale del progetto pubblicata su GitHub presenta una documentazione completa con tutte le opzioni da linea di comando utilizzabili.

Ti consigliamo anche