Utilizzare il “Migrations” in CakePHP per l’export ed import database

database-migrations

Il “Migrations” è un plugin, supportato dal core team di CakePHP che ci aiuta a fare le modifiche allo schema del database scrivendo file in PHP. La documentazione completa, per l’installazione e l’utilizzo del plugin, sono disponibili in lingua inglese sulla guida ufficiale CakePHP.

L’obiettivo di questo tutorial è quello di fornire  una soluzione semplificata, con i solo comandi necessari per esportare/importare la struttura e dei dati del database di ‘default‘, impostato in una specifica applicazione CakePHP.

Export del database esistente

Ipotizzando di disporre di un database con una sola tabella ‘Articles’, per esportare il database da console è possibile utilizzare il plugin Bake. Lanciando i seguenti comandi, saranno creati rispettivamente la struttura ed i dati del database, in questo caso della tabella Articles.

Il comando relativo al ‘seed’ va eseguito per ogni tabella di cui si vogliono esportare anche i dati, mentre il ‘migration_snapshot’ senza parametri aggiuntivi esegue uno snapshot, appunto di tutto il database. I file generati saranno creati in /config/Migrations (i file di struttura) e in /config/Seeds (i file relativi ai dati delle singole tabelle).

Import del database creato

A questo punto è possibile utilizzare la console Migrations per importare lo schema ed i dati creati come Seeds.

Quanto sopra descritto è un modo rapido e testato per fare il dump di un database ed installarlo, utilizzando i soli comandi console. Questo approccio mi ha consentito di creare una Shell per l’AOBuilder mediante la quale fare la popolazione dei database in fase di installazione, semplificando i passaggi ed i comandi richiesti per avere l’ambiente configurato e funzionante.

Un esempio della Shell sviluppato nella versione 1.1.2 dei AOBuilder è di seguito riportata:

Per approfondire l’argomento Shell consultare la sezione ‘Shell & Console’ sulla guida ufficiale ufficiale CakePHP.

 

Lascia un commento