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

UXDM: migrare dati da un formato all'altro con PHP

UXDM (Universal Extensible Data Migrator) è una libreria scritta in PHP che consente di effettuare migrazioni di dati tra sistemi e formati.
UXDM: migrare dati da un formato all'altro con PHP
UXDM (Universal Extensible Data Migrator) è una libreria scritta in PHP che consente di effettuare migrazioni di dati tra sistemi e formati.
Link copiato negli appunti

UXDM (Universal Extensible Data Migrator) è una libreria PHP che permette di migrare dati da un sistema o formato ad un altro. Può essere installato facilmente utilizzando Composer, lanciando il seguente comando dalla root del progetto corrente:

composer require divineomega/uxdm

Per raggiungere l'obiettivo occorre creare un file PHP che contiene il codice UXDM necessario alla migrazione, produrre gli oggetti sorgente e di destinazione. Ad esempio, nel seguente codice viene utilizzato un CSV come "sorgente" ed un PDO (database) come "destinazione":

$csvSource = new CSVSource('users.csv');
$pdoDestination = new PDODestination(new PDO('mysql:dbname=test-database;host=127.0.0.1', 'root', 'password'), 'users');

A questo punto, si crea un nuovo oggetto UXDM necessario alla migrazione, e lo si configura appositamente, grazie ai metodi specifici della classe Migrator:

$migrator = new Migrator;
$migrator->setSource($csvSource)
         ->setDestination($pdoDestination)
         ->setFieldsToMigrate(['id', 'email', 'name'])
         ->setKeyFields(['id'])
         ->withProgressBar()
         ->migrate();

Come ultimo step, lanciamo lo script per effettuare e completare la procedura di migrazione.

Come anticipato, ogni procedura di migrazione tramite UXDM richiede un oggetto sorgente ed almeno un oggetto di destinazione, che determinano dove e come i dati vengono letti e scritti. Il pacchetto UXDM dispone di un'ampia varietà di oggetti sorgente e destinazione, come ad esempio:

  • PDO (PHP Database Object) Sorgente -> destinazione.
  • Eloquent (come utilizzato in Laravel) Sorgente -> destinazione.
  • Doctrine (come utilizzato in Symfony) destinazione.
  • CSV (valori separati da virgole) Sorgente -> destinazione.
  • Array associativi Sorgente -> destinazione.
  • File JSON Sorgente -> destinazione.
  • XML Sorgente -> destinazione.
  • WordPress Post Sorgente.
  • WordPress User Sorgente.
  • Debug Output destinazione.

Gli oggetti sorgente e destinazione possono essere utilizzati in tutte le combinazioni possibili: i dati possono essere migrati da un CSV e inseriti in un database, cosi come i dati di un database possono essere migrati in un file CSV. E' inoltre possibile utilizzare oggetti sorgente e di destinazioni simili nella stessa migrazione, ad esempio tramite due oggetti PDO (sorgente e destinazione) per trasferire i dati da un database all'altro.

Nella documentazione Sources & Destinations è possibile reperire tutte le informazioni necessarie per effettuare ogni singola procedura.

Via UXDM

Ti consigliamo anche