laravel Database Migration

PRAKTIKUM SESI 11
DataBase Migration

Assalamualaikum
Haiii balik lagi nih di blog TutorGesit. Kaliini kita akan mengenal yang namanya Database migration, apa dan seperti apakah Database Migration itu? Hmm supaya kalian paham kita langsung praktek aja yaa agar nanti dapat kita simpulkan.

Persiapan

1. Cari path php anda
Karena disini saya menggunakan xampp, maka folder php saya berada di folder xampp dan copy path lokasi php nya contoh : C:\xampp\php

2. Buka This PC/My Computer Properties
Klik kanan pada my computer/ this pc>properties>advance system settings>enverironment variables>System variables>Variable path>Edit>New>Paste path php yang sudah di copy tadi>ok

3. Cek pada cmd
Ketik php -v, Konfigurasi path berhasil bila muncul tulisan seperti dibawah ini



Database Migration

1. Buka CMD
Masuk ke folder laravel menggunakan cd


2. Buat Database & edit.env
Buat database dengan nama db_belajarlaravel, lalu buka file .env dalam laravel folder dan konfigurasi database.


3. Buat Tabel t_siswa
Kembali pada cmd yang sudah diarahkan ke path laravel, lalu ketikkan :



Secara otomatis akan muncul file baru pada folder database/migrations


4. Function Up & Down
Buka file baru pada folder database/migrations, tiap filenya pasti ada function up & down

function up
Fungsi yang dijalankan ketika database di migrate, biasanya menjalankan perintah create table, ataupun alter table

function down
Fungsi yang dijalankan ketika database di rollback, biasanya kebalikan dari fungsi yang dikerjakan pada function up


5. Edit File yang Bernama create_t_siswa
Membuat table t_siswa dengan field nis bertipe data integer, nama_lengkap dengan tipe data string (varchar) dan panjang 100 karakter, dan jenis kelamin dengan tipe data string (varchar) dan panjang 1 karakter


6. Buka Kembali cmd
Jalankan Perintah php artisan migrate seperti dibawah


7. Periksa Pada PHPMyAdmin
Buka php my admin maka akan muncul table seperti dibawha ini apabila berhasil


8. Buat Migration Untuk Alter
Misalnya, pada tabel t_siswa perlu ditambahkan field golongan darah.
Buat migration untuk menambah field golongan darah, jalankan perintah  

php artisan make:migration add_goldar_t_siswa


9. Edit File add_goldar_t_siswa.php


10. Kembali Ke cmd untuk migrate
Migrate kembali lewat cmd dengan php artisan migrate & cek kembali pada PHPMyAdmin


11. Perintah RollBack
Jalankan perintah rollback migration
Misalnya, ada kesahalan penulisan pada file migrasi anda, tetapi migrasi sudah dilakukan. Anda ingin melakukan perubahan file yang sudah berhasil di migrasi. Sebelumnya anda harus melakukan rollback terlebih dahulu sebelum melakukan editing file migrasi tersebut.

Jalankan perintah php artisan migrate:rollback


12. Edit File add_goldar_t_siswa
Rubah nama kolom golongan_darah menjadi goldar dan migrate kembali



Rollback dijalankan hanya ketika anda sudah berhasil melakukan migrasi
Pastikan anda melakukan rollback terlebih dahulu sebelum melakukan editing file migrasi untuk terhindar dari error

Rollback digunakan untuk melihat histori perubahan sebelumnya
Pada konsepnya, rollback digunakan untuk melihat perubahan apa yang terjadi sebelum file-file migrasi yang baru dimigrasikan. Pada prakteknya, untuk tetap menjaga histori database gunakan fitur alter apabila terjadi kesalahan yang terjadi setelah anda melakukan migrasi


Alter Table With Migration

1. Buat Migration untuk Alter
Misalnya, pada tabel t_siswa terjadi perubahan nama field jenis_kelamin menjadi jenkel, maka
Buat migration untuk mengubah field jenis_kelamin

php artisan make:migration change_jenkel_t_siswa


2. Edit File change_jenkel_t_siswa


Jangan dulu di migrate, Sesuai instruksi yang ada pada dokumentasi Laravel, untuk menjalankan migrasi renameColumn diperlukan library doctrine/dbal. Lakukan instalasi package tersebut menggunakan composer dengan menjalankan perintah dibawah ini pada root folder laravel anda (diperlukan koneksi internet)

3. Install package doctrine/dbal
Masukan perintah:
composer require doctrine/dbal


Setelah Terinstall barulah kita migrate & cek hasilnya di PHPMyAdmin

Jika berhasil maka nama kolom akan berubah gambar seperti diatas


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

1. Buat migrasi



2. Edit create_t_percobaan & Migrate

Setelah diedit, langsung saja eksekusi dengan cmd menggunakan perintah php artisan migrate, maka hasilnya :



StudiKasus2


1. Buatlah tabel t_kelas dengan field nama_kelas, jurusan


Pertama buat dulu migrasi-nya, seperti ini :

Tambahkan kodingan dibawah ini pada file create_t_kelas.php



Lalu migrate, dan inilah hasilnya:



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

Pertama buat migrasi add kolom lokasi ruangannya


Tambahkan kodingan seperti dibawah


Jika sudah lalu lakukan kembali perintah php artisan migrate



3. Buatlah perubahan tabel t_kelas dengan mengganti panjangnya menjadi 50 karakter
Pertama kita rollback terlebih dahulu kolom lokasi_ruangannya



Rubah file add_lokasi_ruangan.php menjadi 50

Migrate kembali pada cmd, dan ini hasilnya


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

Buat dulu migrasinya


Isi file add_nama_walkel.php dengan kodingan dibawah ini

Migrate kembali dan ini hasilnya


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

Buat file migrasi change_nama_wali_kelas, dengan cara dibawah


Buka file change_nama_wali_kelas.php dan isi seperti perintah dibawah

Terakhir lakukan php artisan migrate, dan inilah hasilnya bila berhasil


Terimakasih sudah membaca postingan TutorGesit, Semoga bermanfaat...

Komentar

Postingan Populer