Migraties in Laravel zijn een manier om het schema van uw database te beheren. Ze werken als een soort versiebeheer voor uw database, waardoor u wijzigingen in uw schema kunt bijhouden en terugdraaien.
Migraties worden opgeslagen als PHP-klassen in de database/migrations-map van uw applicatie. Elke migratieklasse bevat twee methoden: up() en down(). De up()-methode wordt uitgevoerd om de wijzigingen in uw schema aan te brengen, terwijl de down()-methode wordt uitgevoerd om de wijzigingen ongedaan te maken.
Om een migratie te maken, kunt u de make:migration-commando gebruiken. Dit commando zal een nieuwe migratieklasse maken met een naam die overeenkomt met de huidige datum en tijd.
php artisan make:migration create_users_table
Dit commando zal een nieuwe migratieklasse maken met de naam 2023_09_25_123456_create_users_table.
De up()-methode van deze migratieklasse kan dan worden gebruikt om een nieuwe tabel users aan te maken:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email');
$table->timestamps();
});
}
Om deze migratie uit te voeren, kunt u de migrate-commando gebruiken:
php artisan migrate
Dit commando zal de up()-methode van alle migraties uitvoeren die nog niet zijn uitgevoerd.
Als u een fout maakt in uw migratie, kunt u de down()-methode gebruiken om de wijzigingen ongedaan te maken:
php artisan migrate:rollback
Dit commando zal de down()-methode van de meest recent uitgevoerde migratie uitvoeren.
Migraties bieden een aantal voordelen ten opzichte van het handmatig beheren van uw databaseschema:
Versiebeheer: Migraties werken als een soort versiebeheer voor uw database, waardoor u wijzigingen in uw schema kunt bijhouden en terugdraaien.
Reproduceerbaarheid: Migraties maken het gemakkelijk om uw databaseschema te herstellen naar een eerdere staat.
Efficiency: Migraties kunnen worden gebruikt om grote wijzigingen in uw databaseschema uit te voeren, zonder dat u uw applicatie hoeft te stoppen.
Migraties zijn een essentieel onderdeel van elke Laravel-applicatie. Ze helpen u om uw databaseschema te beheren en ervoor te zorgen dat uw applicatie consistent blijft.