Database Migration -Sesi 12

Assalamualaikum WR WB

Hai!Kembali lagi ke blog saya.Pada postingan kali ini saya akan memberi tahu cara melakukan migrasi database pada laravel.Untuk lebih jelasnya kita langsung saja ke materi.

Persiapan

1.Sebelumnya kita harus terlebih dahulu mencari path PHP anda,caranya:

Buka windows explorer, cari folder PHP di folder XAMPP anda, kemudian copy alamat path tersebut pada address bar
Lokasi folder PHP disesuaikan dengan lokasi anda menginstall XAMPP/PHP nya


 



2.Langkah selanjutnya,Anda harus mengkonfigurasi PATH PHP,caranya: 

  1. Buka Windows Explorer, Klik kanan My Computer / This PC, pilih Properties
  2. Pilih menu Advance system settings
  3. Klik Environment Variables 
  4. Pada tab System Variables, cari Variable Path 
  5. Klik Edit pada Variable tsb. 
  6. Klik New, lalu paste alamat path PHP anda
  7. Klik OK  
3. Cek konfigurasi PATH PHP kalian di CMD dengan mengetik php -v








4. Buatlah sebuah database,disini saya contohkan membuat db_belajarlaravel  

5. Buka file .env pada root folder project laravel anda, konfigurasi koneksi database di file tersebut



Nah begitulah cara migrasi database di Laravel,selanjutnya kita langsung ke studi kasusnya!

Studi Kasus 1

Buatlah migrasi baru untuk membuat tabel t_percobaan. Cobalah buat minimal 15 field yang berbeda pada tabel tersebut

Pertama tama kita pergi ke cmd dan ketik php artisan make:migration create_t_ujicoba untuk membuat tabel baru dan jika berhasil maka akan muncul sebuah tulisan Created Migration: 2019_02_27_021748_create_t_percobaan seperti dibawah ini:











Kemudian buka file Created Migration: 2019_02_27_021748_create_t_ujicoba lalu edit untuk menambahkan field baru seperti dibawah:



Setelah itu kita ke cmd lagi lalu ketikan php artisan migrate dan jika berhasil maka akan muncul seperti di bawah:



Hasilnya akan sebagai berikut:



Studi kasus 2



1.Buatlah tabel t_kelas dengan field nama_kelas, jurusan

2.Buatlah perubahan tabel t_kelas dengan menambahkan field lokasi_ruangan dengan tipe data string dan panjang 100 karakter

3.Buatlah perubahan tabel t_kelas dengan mengganti panjangnya menjadi 50 karakter

4.Buatlah perubahan tabel t_kelas dengan menambahkan field nama_walkel dengan tipe data string dan panjang 50 karakter

5.Buatlah perubahan tabel t_kelas dengan mengubah nama field nama_walkel menjadi nama_wali_kelas.

Jawaban:

1. Buat t_kelas


D:\xampp2\htdocs\blog>php artisan make:migration create_t_kelas
Created Migration: 2019_02_24_043855_create_t_kelas

Edit filenya:


<?php

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

class CreateTKelas extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //1. Membuat field tabel t_kelas
        Schema::create('t_kelas', function (Blueprint $table){
            $table->increments('id');
            $table->string('nama_kelas');
            $table->string('jurusan');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
    }
}

Ke cmd lagi
D:\xampp2\htdocs\blog>php artisan migrate
Migrating: 2019_02_24_043855_create_t_kelas
Migrated:  2019_02_24_043855_create_t_kelas

Jika berhasil maka akan muncul di phpmyadmin


2. Menambah field lokasi_ruangan 


D:\xampp2\htdocs\blog>php artisan make:migration add_lokasi_ruangan
Created Migration: 2019_02_24_044048_add_lokasi_ruangan

Edit filenya:
<?php

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

class AddLokasiRuangan extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //2. Menambahkan field lokasi ruangan pada table t_kelas
        Schema::table('t_kelas',function($table){
            $table->string('lokasi_ruangan', 100)->after('jurusan');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('t_kelas', function($table){
            $table->dropColumn('lokasi_ruangan');
        });
    }
}

Ke cmd lagi
D:\xampp2\htdocs\blog>php artisan migrate
Migrating: 2019_02_24_044048_add_lokasi_ruangan
Migrated:  2019_02_24_044048_add_lokasi_ruangan

Jika berhasil maka akan muncul


3. Mengganti panjang menjadi 50

Ke cmd
D:\xampp2\htdocs\blog>php artisan make:migration change_length_of_t_kelas
Created Migration: 2019_02_24_044311_change_length_of_t_kelas

Edit filenya:
<?php

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

class ChangeLengthOfTKelas extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //3. Edit data kelas
        Schema::table('t_kelas', function (Blueprint $table){
            $table->string('nama_kelas',50)->change();
            $table->string('jurusan',50)->change();
            $table->string('lokasi_ruangan',50)->change();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
    }
}

Ke cmd lagi:
D:\xampp2\htdocs\blog>php artisan migrate
Migrating: 2019_02_24_044311_change_length_of_t_kelas
Migrated:  2019_02_24_044311_change_length_of_t_kelas

Dan lihat perubahannya d phpmyadmin

4. Menambah field nama_walkel

Ke cmd
D:\xampp2\htdocs\blog>php artisan make:migration add_nama_walkel
Created Migration: 2019_02_24_045046_add_nama_walkel

Edit filenya:
<?php

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

class AddNamaWalkel extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //4. Menambahkan field nama_walkel
        Schema::table('t_kelas',function($table){
            $table->string('nama_walkel', 50)->after('lokasi_ruangan');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('t_kelas', function($table){
            $table->dropColumn('nama_walkel');
        });
    }
}

Ke cmd lagi:
D:\xampp2\htdocs\blog>php artisan migrate
Migrating: 2019_02_24_045046_add_nama_walkel
Migrated:  2019_02_24_045046_add_nama_walkel

Dan lihat perubahannya d phpmyadmin

5. Merubah nama field nama_walkel jadi nama_wali_kelas

ketikan php artisan make:migration change_nama_walkel_t_kelas di cmd
k
D:\xampp2\htdocs\blog>php artisan make:migration change_nama_walkel_t_kelas
Created Migration: 2019_02_24_045704_change_nama_walkel_t_kelas

Edit filenya:


<?php

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

class ChangeNamaWalkelTKelas extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //5. Mengubah nama wali kelas
        Schema::table('t_kelas',function($table){
            $table->renameColumn('nama_walkel','nama_wali_kelas');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('t_kelas',function($table){
            $table->renameColumn('nama_walkel','nama_wali_kelas');
        });
    }
}

Kemudian buka cmd:


D:\xampp2\htdocs\blog>php artisan migrate
Migrating: 2019_02_24_045704_change_nama_walkel_t_kelas
Migrated:  2019_02_24_045704_change_nama_walkel_t_kelas

Dan lihat hasilnya:




Mungkin cukup sekian postingan kali ini semoga postingan ini menjadi manfaat untuk kita semua.
Mohon maaf apabila ada kesalahan dan kekurangan,Sampai ketemu di postingan selanjutnya.
Salam Coding!

Wasslamualaikum WR.WB










Komentar

Postingan populer dari blog ini

Laravel : Create Data, Validation, dan Old Input

Belajar PHP (Nested Looping) -Praktikum 24

Program Menentukan Hari Menggunakan If Dan Switch Case dan