Kali ini saya akan membagikan tutorial laravel database migration, silahkan ikuti langkah2nya dari mulai melakukan konfigurasi dan membuat tabel.
Persiapan
Cari Path PHP anda
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*
Konfigurasi Path PHP
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
Cek Konfigurasinya di cmd
1. Buka CMD, ketik php –v
2. Konfigurasi PATH berhasil apabila muncul tampilan seperti gambar dibawah ini
Masuk ke Folder Laravel melalui cmd
1. Buka CMD, masuk ke folder laravel menggunakan cd contoh : cd C:\xampp\htdocs\laravel
Buat database
Buka phpMyAdmin, buat database baru dengan nama db_belajarlaravel
Edit .env
Buka file .env pada root folder project laravel anda, konfigurasi koneksi database di file tersebut
Database Migration
masih melalu cmd masuk ke folder laravel kemudian ketikan perintah php artisan make:migration create_t_siswa
Secara otomatis akan muncul file baru pada folder database/migrations
Buka file tersebut
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
Edit file 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
Jalankan perintah migrate
Kembali ke cmd, jalankan perintah php artisan migrate
Periksa database di phpMyAdmin
Jika berhasil maka akan muncul tabel baru di database
Buat migration untuk alter
Misalnya, pada tabel t_siswa perlu ditambahkan field golongan darah.
Buat migration untuk menambah field golongan darah, jalankan perintah ini di cmd
php artisan make:migration add_goldar_t_siswa
Edit file add_goldar_t_siswa
Jalankan perintah migrate
Kembali ke cmd, jalankan perintah php artisan migrate
Periksa database di phpMyAdmin
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
Edit file add_goldar_t_siswa
Jalankan perintah migrate
Kembali ke cmd, jalankan perintah php artisan migrate
Periksa database di phpMyAdmin
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
Buat migration untuk alter
Misalnya, pada tabel t_siswa terjadi perubahan nama field jenis_kelamin menjadi jenkel
Buat migration untuk mengubah field jenis_kelamin ketik perintah php artisan make:migration change_jenkel_t_siswa
Edit file change_jenkel_t_siswa
Install package doctrine/dbal
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)
composer require doctrine/dbal
Jalankan perintah migrate
Setelah package doctrine/dbal terinstall, jalankan perintah php artisan migrate
Periksa database di phpMyAdmin
Jika berhasil maka field akan berubah
untuk materi selanjutnya
disini