Hallo teman-teman ONPHPID, kita ketemu lagi masih di tutorial yang sama yaitu Belajar Laravel 5.3. Masih ingat kan pada tutorial sebelumnya kita sudah belajar penggunaan Controller. Jika belum membacanya bisa cek Mengenal Controller Pada Laravel Pada tutorial kali ini kita akan bersama-sama belajar tentang Migrations. Migrations adalah salah satu fitur Laravel agar kita lebih mudah dalam mengembangkan sebuah aplikasi yang berhubungan dengan Database. Keuntungan saat kita menggunakan Migrations akan kita rasakan ketika kita bekerja dalam sebuah Tim. Sebagai contoh, kita sudah mengembangkan sebuah Aplikasi dan sudah sampai sekitar 25% dan tiba-tiba ada teman kita yang akan bergabung mengembangkan Aplikasi yang sudah kita buat, tentu kita harus berbagi project bukan? Nah jika kita bisa setiap saat bertemu tidak akan jadi masalah, namun jika teman kita di kota lain misalnya, tentu akan menjadi masalah karena kita harus mengekspor Database kemudian teman kita mengimpornya ke dalam server lokalnya. Ribet bukan??
Namun dengan adanya Migrations kita akan menjadi lebih mudah, hanya dengan command kita sudah bisa mengimpor Database ke dalam server lokal kita. Bahkan Migrations akan memberikan record kapan dibuatnya Table-table dalam Database kita. Kita juga dapat menambah ataupun menghapus kolom table bahkan merubahnya. O iya, kenapa kita belum membahas Model? Begini teman-teman, ONPHPID ingin agar kita belajar berurutan tidak loncat-loncat, maka dari itu kita belajar Migrations dulu terlebih dulu karena Migrations ada kaitannya dengan Model. Sehingga kita nanti bisa belajar CRUD dengan Laravel 5.3 lebih mudah, jadi apa yang sudah kita buat dari tutorial awal jangan dihapus karena akan berguna sampai Belajar Laravel ini dinyatakan Selesai.
Mengenal Apa Itu Migrations
Migrations bisa disebut juga sebagai Blueprint dari table yang akan kita buat. Agar kita menjadi lebih jelas bagaimana penggunaan Migrations, mari kita buka file Migrations yang sudah ada pada Laravel ketika kita menginstall projectnya, file tersebut ada di database/migrations
. secara default Laravel sudah menyertakan dua migrations dan satu Model yang dapat kita gunakan. Coba kita buka file migrations users seperti di bawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?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->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } } |
Agar tidak penasaran bagaimana caranya kita membuat file Migrations mari kita mencobanya. Silakan kalian buka dulu command prompt-nya dan jangan lupa arahkan ke direktori project. Jika sudah ketikan perintah berikut:
1 |
php artisan make:model Kendaraan -m |
dari perintah artisan di atas Laravel akan meng-generate satu Model baru sekaligus file Migrationsnya. Kita bisa membuat Model tanpa file Migrationsnya, dengan perintah yang hampir sama namun tanpa di sertai -m (baca: strip em). Sebaiknya kita memakai perintah pertama agar kita tidak perlu membuat file migrationsnya lagi. Jika sudah silakan check di app/Http
maka akan ada Model baru dengan nama Kendaraan
dan di database/migrations
juga sudah ada satu file migrations. Mari kita buka dan kita ubah file migrationsnya menjadi seperti di bawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 |
// code lain public function up() { Schema::create('kendaraans', function (Blueprint $table) { $table->increments('id'); $table->string('nama_kendaraan'); $table->string('jenis_kendaraan'); $table->string('buatan'); $table->timestamps(); }); } // code lain |
o iya, secara default Laravel akan membuat nama table plural dari dari Modelnya, yaitu Kendaraan maka singular dari Kendaraan adalah kendaraans. Jika kita ingin memakai nama table kendaraan, maka kita perlu menambahkan property di Modelnya seperti ini
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Kendaraan extends Model { protected $table = 'kendaraan'; // jika kita ingin nama tablenya kendaraan } |
jika sudah mari kita buat tablenya dengan menggunakan perintah artisan. Tapi jangan lupa buat nama databasenya di phpmyadmin, ONPHPID akan membuat database dengan nama “belajar_laravel” setelah itu kita lakukan setting pada file .env menjadi seperti berikut :
1 2 3 4 5 6 7 8 9 10 |
// code lain DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=belajar_laravel // nama databasenya DB_USERNAME=root // username DB_PASSWORD= // password // code lain |
kemudian kita migrate dengan perintah artisan berikut
1 |
php artisan migrate |
jika berhasil maka akan seperti gambar di bawah ini
lalu check ke database, maka akan ada table yang telah kita migrate tadi
kita telah berhasil membuat table menggunakan migrations sekaligus membuat Modelnya. Jika teman-teman ingin lebih tahu tentang migrations bisa langsung membaca dokumentasi Laravel di sini.
Baca Juga : Mengenal Controller Pada Framework Laravel 5.3 untuk pemula
Sekian dulu tutorial Belajar Laravel : Mengenal Migrations Pada Laravel 5.3 untuk pemula. Jika ada hal yang kurang jelas atau ingin ditanyakan dapat melalui komentar. JANGAN LUPA like FANSPAGE ONPHPID untuk update informasi dan Subscribe Channel ONPHPID Tutorial. Selamat Belajar…