Latar Belakang
Artikel ini dibuat dengan tujuan untuk mendokumentasikan hasil pembelajaran saya mengenai konfigurasi database serta penggunaan migration di Laravel. Dengan memahami kedua hal ini, saya dapat membangun struktur tabel secara terorganisir dan mengelola perubahan struktur database dengan lebih sistematis.
Alat dan Bahan
A. Perangkat Lunak
- Database (Mysql)
- Web Browser (Google Chrome)
- Web Server (Xampp)
- Code Editor (Visual Studio Code)
- Terminal
B. Perangkat Keras
- Laptop
Konfigurasi Koneksi Database
Menyiapkan Database
CREATE DATABASE belajar_laravel;
Konfigurasi Koneksi
.env. Buka file .env di root project Laravel kamu, lalu cari bagian konfigurasi database. Akan terlihat seperti ini:DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=belajar_laravel
DB_USERNAME=root
DB_PASSWORD=
- DB_CONNECTION: Jenis database yang digunakan. Paling umum
mysql, tapi Laravel juga mendukungpgsql,sqlite, dan lainnya. - DB_HOST: Alamat server database.
127.0.0.1ataulocalhostberarti database ada di komputer lokal. - DB_PORT: Port yang digunakan database. MySQL default di port 3306.
- DB_DATABASE: Nama database yang akan kita gunakan. Pastikan database ini sudah dibuat di phpMyAdmin atau melalui terminal.
- DB_USERNAME: Username untuk mengakses database. Di XAMPP/LAMP biasanya
root. - DB_PASSWORD: Password database. Di XAMPP/LAMP biasanya kosong.
Mengecek Koneksi Database
php artisan db:show
.env sudah benar dan database server (Apache/MySQL) sedang berjalan.Pengertian Migration
Kenapa Lebih Baik Menggunakan Migration?
Tujuan Migration:
Version control untuk database - Semua perubahan tercatat
Kemudahan kolaborasi - Tim bisa sinkron struktur database
Rollback - Bisa kembali ke versi sebelumnya jika error
Testing jadi lebih mudah - Buat dan hapus database dengan cepat
Deployment otomatis - Struktur database bisa diatur saat deploy
Membuat Migration
php artisan make:migration create_products_table
database/migrations/ dengan format timestamp seperti 2024_01_20_123456_create_products_table.php.Struktur File Migration
up(): Berisi kode untuk menjalankan migration (biasanya membuat atau mengubah tabel). Method ini akan dieksekusi saat kita menjalankan
php artisan migrate.down(): Berisi kode untuk membatalkan perubahan (rollback). Method ini akan dieksekusi saat kita menjalankan
php artisan migrate:rollback.
Praktik Membuat Tabel Products
products dengan beberapa kolom. Modifikasi method up() menjadi seperti ini:$table->id(): Membuat kolomidsebagai primary key, auto increment, tipe big integer. Ini adalah cara praktis Laravel untuk membuat primary key.$table->string('name', 200): Membuat kolomnamedengan tipe VARCHAR(200).$table->text('description')->nullable(): Membuat kolomdescriptiontipe TEXT yang boleh kosong (nullable).$table->integer('price'): Membuat kolompricedengan tipe INTEGER.$table->integer('stock')->default(0): Membuat kolomstockdengan nilai default 0.$table->timestamps(): Membuat dua kolom:created_atdanupdated_atyang akan diisi otomatis oleh Laravel.
Menjalankan Migration
Setelah selesai menulis kode migration, saatnya menjalankannya:php artisan migrate
migrations.products sudah terbentuk dengan struktur yang kita definisikan.Rollback Migration
php artisan migrate:rollback
down() dari migration yang terakhir dijalankan.Relasi Antar Tabel
Buat Migration Categories
php artisan make:migration create_categories_table
Modifikasi file migration:Menambah Foreign Key
Kita perlu menambahkan kolomcategory_id di tabel products.Modifikasi tabel products:
Penjelasan Relasi
foreignId('category_id'): Membuat kolomcategory_iddengan tipe unsigned big integer (cocok untuk foreign key).constrained(): Secara otomatis membuat foreign key yang merujuk ke kolomiddi tabelcategories.onDelete('cascade'): Jika kategori dihapus, semua produk dalam kategori tersebut juga ikut terhapus.
Hasil Pembelajaran
.env, seperti pengaturan nama database, username, dan password. Setelah koneksi berhasil, Laravel dapat terhubung dengan database yang digunakan.Kesimpulan
Daftar Pustaka
Laravel. (n.d.). Database: Getting started. Diakses pada 26 Februari 2026, dari https://laravel.com/docs/database
Laravel. (n.d.). Database migrations. Diakses pada 26 Februari 2026, dari https://laravel.com/docs/migrations
MySQL. (n.d.). MySQL 8.0 reference manual. Diakses pada 26 Februari 2026, dari https://dev.mysql.com/doc/
Apache Friends. (n.d.). XAMPP for Windows. Diakses pada 26 Februari 2026, dari https://www.apachefriends.org/
Niagahoster. (2023). Pengertian Laravel dan kelebihannya untuk pengembangan website. Diakses pada 26 Februari 2026, dari https://www.niagahoster.co.id/blog/laravel-adalah/
Petani Kode. (2022). Tutorial Laravel untuk pemula. Diakses pada 26 Februari 2026, dari https://www.petanikode.com/laravel/
Codepolitan. (2022). Belajar Laravel dasar untuk pemula. Diakses pada 26 Februari 2026, dari https://www.codepolitan.com/
IndoKoding. (2023). Tutorial Laravel 10 – Part 6: Database & migration. Diakses pada 26 Februari 2026, dari https://indokoding.net/blog/tutorial-laravel-10-part-6-database-migration-L8wd7INHwWYh