GfMpTfG9TSY9TSCiTUr0TfG0

Tutorial Laravel 12 Untuk Pemula : Sistem Manajemen Aset

Cara Membuat Migration Database Sistem Manajemen Aset di Laravel (Categories & Assets)

Pada project Sistem Manajemen Aset menggunakan Laravel, salah satu langkah penting adalah membuat struktur database menggunakan migration. Migration di Laravel berfungsi seperti “riwayat perubahan database” yang bisa dijalankan ulang kapan saja. Jadi kita tidak perlu membuat tabel manual lewat phpMyAdmin, cukup lewat perintah Laravel saja.

Pada tutorial ini kita akan membuat migration untuk tabel:

  • users (untuk login)
  • categories (kategori aset)
  • assets (data aset)

1) Persiapan Project dan Database

Pastikan kamu sudah berada di folder project Laravel.

(Opsional) Jalankan server Laravel:

php artisan serve

Pastikan file .env sudah benar untuk koneksi database:

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

Catatan: Buat dulu database bernama asset_db di phpMyAdmin.


2) Migration Tabel users (Untuk Login)

Jika kamu menggunakan scaffolding login (php artisan ui bootstrap --auth), Laravel biasanya sudah menyiapkan migration untuk tabel users.

Untuk membuat tabel bawaan Laravel (termasuk users), jalankan:

php artisan migrate

Jika tabel users sudah ada, lanjut ke tabel categories dan assets.


3) Membuat Migration Tabel categories

Langkah A: Buat Model + Migration

Gunakan perintah berikut:

php artisan make:model Category -m

Perintah ini akan membuat:

  • Model: app/Models/Category.php
  • Migration: database/migrations/xxxx_create_categories_table.php

Langkah B: Isi Migration categories

Buka file migration create_categories_table.php, lalu isi bagian up() seperti ini:

public function up(): void
{
    Schema::create('categories', function (Blueprint $table) {
        $table->id();                // id (PK)
        $table->string('name');      // name
        $table->timestamps();        // created_at & updated_at
    });
}

4) Membuat Migration Tabel assets

Langkah A: Buat Model + Migration

Jalankan perintah berikut:

php artisan make:model Asset -m

Langkah B: Isi Migration assets

Buka file create_assets_table.php, lalu isi bagian up() seperti ini:

public function up(): void
{
    Schema::create('assets', function (Blueprint $table) {
        $table->id(); // id (PK)

        $table->string('asset_code')->unique(); // asset_code unik
        $table->string('name');                 // name

        // Foreign key ke categories
        $table->foreignId('category_id')
              ->constrained('categories')
              ->cascadeOnUpdate()
              ->restrictOnDelete();

        $table->string('location'); // location

        // condition: baik / rusak ringan / rusak berat
        $table->enum('condition', ['baik', 'rusak ringan', 'rusak berat'])
              ->default('baik');

        // status: aktif / dipinjam / rusak / dihapuskan
        $table->enum('status', ['aktif', 'dipinjam', 'rusak', 'dihapuskan'])
              ->default('aktif');

        $table->date('purchase_date');     // tanggal beli
        $table->text('notes')->nullable(); // catatan opsional

        $table->timestamps();
    });
}

Penjelasan singkat (untuk pemula):

  • unique() → membuat asset_code tidak boleh sama
  • foreignId()->constrained() → membuat relasi FK otomatis
  • enum() → membatasi pilihan nilai agar data rapi
  • nullable() → kolom boleh kosong

5) Jalankan Migration

Jika semua migration sudah siap, jalankan perintah:

php artisan migrate

Jika berhasil, tabel categories dan assets akan dibuat di database. Kamu bisa mengecek hasilnya di phpMyAdmin.


6) Jika Migration Error (Solusi Cepat)

Kalau kamu salah edit migration dan ingin ulang dari awal (khusus project latihan), gunakan:

php artisan migrate:fresh

Peringatan: Perintah ini menghapus semua tabel dan membuat ulang dari awal. Jangan digunakan di project yang sudah berisi data penting.

Install Laravel

Selamat mencoba 🚀

Special Ads
Special Ads
Special Ads