Anda di halaman 1dari 12

MODUL 4

DATABASE & MIGRATION

1. Konfigurasi Database
Pada bab ini, kita akan membahas mengenai migration yang ada di Laravel.
Namun, sebelum itu kita akan membahas tentang konfigurasi database terlebih
dahulu. Langkah pertama, membuat database bernama laravel_bukutamu
a. Buka XAMPP Control Panel lalu aktifkan/start Apache & MySQL

b. Buka localhost/phpmyadmin di browser.

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


c. Klik new dan buat database dengan laravel_bukutamu.

Sebelum melangkah lebih lanjut, kita akan mempelajari dulu mengenai konfigurasi
database di Laravel 8.

a. Konfigurasi database pada Laravel terdapat pada config/database.php

Di dalam file database.php terdapat berbagai macam driver untuk database,


sesuai dengan yang dibutuhkan dalam pengembangan sistem yang akan
dikerjakan.
Di dalam file ini tidak perlu adanya perubahan bila menggunakan mysql, tidak
perlu mengubah username atau password. Karena file yang perlu diubah adalah
file .env yang berada di luar folder.

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


Kenapa? Karena file .env tidak akan ikut ter-publish jika kita menggunakan git
untuk version control system. Artinya, orang lain yang tidak berkepentingan tidak
akan dapat membaca data penting terkait konfigurasi database system kita.

b. Isi dan sesuaikan konfigurasi database pada file .env


DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_bukutamu
DB_USERNAME=root
DB_PASSWORD=

Bila sudah memberi password pada mysql di komputer Anda, silahkan masukkan
password tersebut.

2. Migrasi Database
Sebelum ke topik, mari kita bayangkan terlebih dahulu. Bayangkan ketika kita
kerja secara tim atau berkelompok yang mana database juga harus sinkron antara
programmer yang satu dengan yang lain.
Biasanya satunya membuat database, lalu diexport, lalu programmer yang lain
mengimport, lalu bagaimana kalau ada perubahan di tengah jalan?
Melakukan export-import berkali-kali tentu tidak efektif dan sangat rawan
kesalahan.

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


Hal inilah yang coba diatasi oleh Laravel denga membuat fitur migration. Laravel
Migration dapat diartikan sebagai trik agar struktur database bisa sinkron antara
tiap programmer yang mengerjakan system dengan langkah yang mudah.
Agar lebih jelasnya, mari kita lakukan percobaan berikut:
a. Buka folder database/migrations/

Secara default, Laravel telah menyediakan beberapa file migrations, silahkan


buka sala satu, misal create_users_table

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


Pada dasarnya sebuah file migration adalah sebuah class yang terdiri dari 2
method, yaitu up dan down
untuk menjalankan perintah membuat table dan kolom dengan tipe datanya, serta
down yang berfungsi untuk
i. up → untuk menjalankan perintah membuat table dan kolom beserta
dengan tipe datanya. Method up akan dilakukan ketika kita menjalankan
perintah migration dengan command: php artisan migrate. Untuk tipe data
dan fungsi-fungsi dalam membuat table dapat dilihat pada dokumentasi
https://laravel.com/docs/8.x/migrations#available-column-types

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


ii. down → untuk menghapus table atau drop table. Method down akan
dilakukan ketika kita menjalankan perintah rollback migration dengan
command: php artisan migrate:rollback. Biasanya ini dilakukan bila
terdapat perubahan pada database yang telah dibuat.

b. Menjalankan perintah migrations


Database yang telah kita buat di awal masih kosong dan belum terdapat table.
Kita akan menjalankan perintah migrations untuk membuat table tersebut.
Ketik php artisan migrate pada terminal

c. Refresh phpmyadmin lalu buka database laravel_bukutamu

Dapat kita lihat telah terdapat 5 table baru, sesuai dengan yang ada pada folder
database/migrations

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


3. Membuat Migrations
Setelah berhasil menjalankan perintah migrations untuk membuat table default
pada Laravel, kita juga dapat membuat migrations sendiri untuk membuat table
lain. Pada pembelajaran ini, kita akan membuat table tamu yang berisi data tamu
dengan rancangan sebagai berikut :
Nama kolom Tipe data Attribute Lain
id integer Auto increment
nama varchar
jenis_kelamin varchar
alamat text
asal_instansi varchar
keperluan text
created_at timestamps
updated_at timestamps

a. Membuat file migration


Buka terminal lalu jalankan perintah
php artisan make:migration create_tamu_table

Pada folder database/migrations akan terdapat file baru bernama


create_tamu_table

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


b. Membuat struktur table database
Kita akan membuat struktur table database sesuai dengan table rancangan di
atas. Masukkan kode berikut ke dalam method up
Schema::create('tamu', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->string('jenis_kelamin');
$table->text('alamat');
$table->string('asal_instansi');
$table->text('keperluan');
$table->timestamps();
});

Keterangan tambahan :
- $table->id() = membuat kolom id (default laravel, sudah termasuk
autoincrement)
- $table->string(‘nama) = membuat kolom nama dengan tipe data varchar
(dalam laravel, varchar ditulis dengan string)
- $table->timestramps() = membuat kolom created_at dan updated_at
dengan tipe data timestamps

Untuk method down tidak perlu diubah karena, sudah otomatis terisi yaitu
untuk drop table tamu.

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


c. Save file create_tamu_table
d. Buka terminal lalu jalankan perintah migrate untuk membuat table tersebut di
database mysql
php artisan migrate

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


e. Refresh phpmyadmin lalu buka table tamu

Dapat dilihat bahwa telah terdapat table dengan nama tamu dengan struktur
table sesuai dengan dibuat pada migration.

4. Rollback Migrations
Setelah kita berhasil membuat table dari migration, maka selanjutnya kita akan
mengubah struktur table tersebut dengan migrations, tanpa menyentuh atau
mengubah langsung di phpmyadmin. Pada kasus ini, kita akan menambahkan
kolom ‘nomor_hp’ dengan tipe data varchar/string.
Hal tersebut dapat kita lakukan dengan menjalankan perintah rollback yang akan
memanggil method down yang berisi perintah drop.
a. Jalankan rollback dengan perintah php artisan migrate:rollback

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


b. Refresh phpmyadmin, pastikan table tamu sudah tidak ada.

c. Buka file migration create_tamu_table lalu tambahkan kolom nomor_hp


sebelum kolom alamat

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta


d. Simpan, lalu jalankan perintah migrate pada terminal

e. Refresh phpmyadmin, lalu buka table tamu

Dapat kita lihat bahwa telah terdapat kolom nomor_hp pada table tamu, sesuai
dengan yang kita tambahkan pada file migration create_tamu_table.

5. TUGAS
Silahkan ikuti langkah-langkah praktikum di atas, lalu screenshot hasil pekerjaan
Anda yang memuat hal berikut :
1. File migration create_tamu_table
2. Terminal yang menunjukkan bahwa Anda telah menjalankan perintah php
artisan migrate

Arif Wiranata Patanduk – SMK Negeri 5 Surakarta

Anda mungkin juga menyukai