Migrazioni multi-driver senza sorprese — articolo

> Migrazioni multi-driver senza sorprese

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

Luigi Iadicola
~1 min lettura
#Migration #Database #Multi-driver
Migrazioni multi-driver senza sorprese
Migrazioni multi-driver senza sorprese

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.

Funzionalita

  • 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 e semplice da usare per le migrazioni comuni e abbastanza flessibile per i casi limite grazie al supporto per raw SQL.

altri articoli