Migrazioni multi-driver senza sorprese

Pillar article sul sistema di migrazioni che genera SQL corretto per SQLite, MySQL, MariaDB e PostgreSQL.

1 min di letturaMigration

Luigi Iadicola, Programmatore - Napoli

Una API, quattro database

Le migrazioni usano una API fluent identica indipendentemente dal driver: Migration::table()->id()->string()->bool()->timestamps(). Sotto il cofano, ogni Grammar class traduce le istruzioni nella sintassi corretta per il database in uso.

Questo significa che posso sviluppare su SQLite in locale e deployare su MySQL o PostgreSQL in produzione senza modificare una sola migrazione. Le differenze tra driver — come il tipo booleano, l'auto-increment o i vincoli foreign key — vengono gestite automaticamente.

Funzionalità

  • Column types completi: string, text, integer, decimal, json, enum, timestamps
  • Modifiers: nullable, unique, default, unsigned, generatedAs
  • Foreign key con cascade configurabile
  • Alter table: add, drop, rename, modify column
  • Rollback con tracking per batch

Il sistema è semplice da usare per le migrazioni comuni e abbastanza flessibile per i casi limite grazie al supporto per raw SQL.

Hai lo stesso problema in azienda?

Raccontami cosa non va e da quando. Guardo la situazione con te prima di proporre qualsiasi intervento.

RaccontameloRispondo entro un giorno lavorativo.
Condividi:LinkedIn

Ricevi il prossimo articolo

Una mail per ogni articolo nuovo, nient'altro. Ti disiscrivi con un clic dal link in fondo a ogni email.