Skip to main content

Migrations

Inleiding

Migrations zijn als versiebeheer voor je database.

Je beschrijft met scripts hoe je database eruit moet komen te zien. Als je dan later je database verandert dan kun je met dezelfde scripts de bestaande databases aanpassen (=migreren). Dat maakt het makkelijk als je code en database aan wilt passen in de productieomgeving. In plaats van in phpmyadmin tabel voor tabel aant e passen draai je gewoon een script.

Migrations heb je ook in Yii, die hebben we alleen niet behandeld.

Database config

Laten we eerst een database maken. We maken via localhost/phpmyadmin een nieuwe database aan en noemen dat webshop.

In de root in ons Laravel project openen we dan de .env file en we zorgen ervoor dat er in de file het volgende komt te staan.

...
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=webshop
DB_USERNAME=root
DB_PASSWORD=
...

Migrations

In de terminal in Visual Studio Code voer je het volgende commando uit:

php artisan make:migration create_product_table --create=product

Dit commando maakt een file. Deze staat in database/migrations/ en heet

{{datetime}}_create_product_table.php

Open dit bestand en plaats de volgende code:

public function up()
{
	Schema::create('product', function (Blueprint $table) {
		$table->increments('id');
		$table->string('name');
		$table->text('description'); 
        $table->decimal('amount', 8, 2);
		$table->timestamps();
	});
}