tutorial laravel

Tutorial Migration Laravel, Penjelasan Dan Cara Pakai Migration

Tutorial dan penjelasan migration pada laravel – Berikut ini saya akan membagikan sedikit dari apa yang saya tahu tentang migration pada laravel. Merujuk pada dokumentasinya itu sendiri, migration dapat di artikan sebagai versioning control untuk database (https://laravel.com/docs/5.8/migrations). Cara pakai migration itu sendiri sebetulnya tidak lah sulit, command yang biasa di gunakan pun singkat dan cenderung mudah di pahami. Di balik kemudahan memakai migration pada laravel ini, efek yang di rasakan akan sangat bermanfaat apa lagi ketika sedang bekerja secara tim. Tanpa perlu berlama-lama lagi, berikut ini artikel tentang tutorial dan penjelasan migration pada laravel.

Pengalaman saya sendiri merasa sangat terbantu dengan adanya migration ini, bayangkan ada 3 orang developer si A, si B dan si C yang mengerjakan projek yang sama. Sebelum saya tahu migration, ketika si A menambahkan satu field saja pada suatu table, maka ia harus memberitahukan pada si B dan si C perihal perubahan yang sudah dia buat. Bayangkan kalau projek itu dia buat dengan sembilan orang lainnya? si A harus memberi tahu mereka satu persatu belum lagi kalau ternyata salah satu dari mereka ada yang lupa menambahkan atau semacamnya… tentu hal ini akan membuat lambat proses pengembangan itu sendiri.

Nah disini lah kegunaan migration itu sendiri, jadi jika si A hendak membuat perubahan skema pada database, si A hanya tinggal membuka CMD dan ketikan perintah berikut :

php artisan make:migration nama_migration_yang_baru

note : ketikan perintah di atas pada CMD saat posisi sedang ada di root directory project

Setelah itu, laravel secara otomatis akan membuatkan satu file baru, file itu dapat di temukan dalam folder root\database\migrations atau dalam contoh saya ini di dalam C:\xampp\htdocs\belajar-laravel\database\migrations. Setelah di buka, di dalam file itu kita akan melihat dua fungsi kosong, yaitu UP dan DOWN. Yang perlu di pahami adalah, fungsi UP berisi statement yang akan di eksekusi saat menjalankan perintah php artisan migrate, sedangkan DOWN akan di eksekusi saat menjalankan perintah php artisan migrate:rollback.

Jadi sederhananya, php artisan migrate berisi statement perubahan yang ingin dilakukan, sedangkan migrate:rollback adalah kebalikannya. Contoh kita migrate untuk penambahan satu table, maka migrate:rollback berisi statement kebalikannya yaitu menghapus table tersebut. Mengapa perlu rollback untuk mengahpus table yang memang ingin di tambahkan? misal kita membuat satu table tetapi ternyata terdapat kesahalan dan hendak di revisi maka cara yang labih efisien adalah dengan meng-rollback migration tadi, kita revisi source code nya baru kita migrate sekali lagi.

Untuk contoh file migration itu sendiri kurang lebih seperti ini :

<?php 

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email',191)->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}

/**
Reverse the migrations.
*
@return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}

Sedikit penjelasan, Schema::create berarti membuat table baru. Dimana jika ingin merubah bisa dengan Schema::table, barulah argument pertama di isi dengan nama table, lalu buat anymous function di dalamnya berisi nama field dan type data apa yang ingin di pakai. Sedangkan pada function down berisi drop table. Untuk command yang lebih lengkap bisa dilihat pada dokumentasi laravel.

Kesimpulan :

Migration tentu akan sangat membantu projek yang di kerjakan secara tim. Si A tinggal buat migration lalu di share pada anggota tim yang lain, lalu yang lain tinggal jalan kan perintah migrate pada local dev masing-masing. Tentunya kalau proses share file migration di lakukan secara manual akan di rasa masih kurang efisien. Lain cerita nya jika tim tersebut sudah bekerja menggunakan GIT sebagai versioning control source code mereka. Si A tinggal push pada repo dan anggota yang lain pull lalu migrate. Penjelasan GIT dan bagaimana peng-aplikasiannya akan di bahas pada artikel lainnya. Terima Kasih.

Leave a Reply

Your email address will not be published. Required fields are marked *