Laravel 12 CRUD #5: Membuat Tabel "siswa" dengan Migration

Laravel 12 CRUD
#5 Membuat Tabel "siswa" dengan Migration

🏗️ Cetak biru tabel siswa: nama, kelas, alamat
🏫 Waktunya membuat tabel untuk data siswa! Di artikel sebelumnya kita sudah menyiapkan database SQLite. Sekarang kita akan membuat tabel "siswa" menggunakan fitur Migration di Laravel.
Migration seperti cetak biru atau rancangan tabel. Kita cukup menulis kode sekali, lalu Laravel akan membuat tabel otomatis. Keren, kan? 😎

Langkah 1: Buat File Migration

1 Laravel punya perintah artisan untuk membuat migration. Buka CMD/terminal, pastikan berada di folder proyek siswaapp. Jalankan perintah:

php artisan make:migration create_siswa_table

Setelah dijalankan, akan muncul pesan seperti:

Created Migration: 2025_03_20_123456_create_siswa_table

File migration baru akan tersimpan di folder database/migrations. Nama file diawali dengan tanggal dan waktu.

📌 Aturan penamaan: create_namatable_table adalah cara standar Laravel untuk membuat tabel baru. Kita membuat tabel "siswa", jadi namanya create_siswa_table.

Langkah 2: Buka File Migration dan Isi Kolom

2 Buka file migration yang baru dibuat (di folder database/migrations) dengan text editor. Cari method up(). Di dalamnya, kita akan mendefinisikan kolom-kolom tabel.

Ubah isinya menjadi seperti berikut:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { Schema::create('siswa', function (Blueprint $table) { $table->id(); // kolom id (auto increment) $table->string('nama'); // kolom nama (teks) $table->string('kelas'); // kolom kelas (teks) $table->text('alamat'); // kolom alamat (teks panjang) $table->timestamps(); // created_at & updated_at }); } public function down(): void { Schema::dropIfExists('siswa'); } };

Penjelasan:

  • $table->id() → membuat kolom id otomatis (primary key).
  • $table->string('nama') → kolom untuk nama (max 255 karakter).
  • $table->string('kelas') → kolom kelas.
  • $table->text('alamat') → kolom alamat (bisa panjang).
  • $table->timestamps() → menambah kolom created_at dan updated_at.
💡 Tips: Pastikan kamu mengetik dengan teliti, jangan sampai ada koma atau titik koma yang kelebihan/kekurangan. Simpan file setelah selesai.

Langkah 3: Jalankan Migration (Buat Tabel)

3 Sekarang kita jalankan migration agar Laravel membuat tabel di database. Di CMD, ketik:

php artisan migrate

Jika berhasil, akan muncul pesan seperti:

Migration table created successfully. Migrating: 2025_03_20_123456_create_siswa_table Migrated: 2025_03_20_123456_create_siswa_table

🎉 Selamat! Tabel "siswa" sudah terbuat di database SQLite!

🧪 Jika ada error: Pastikan file .env sudah diatur dengan benar (DB_CONNECTION=sqlite) dan file database/database.sqlite sudah ada. Cek juga tidak ada kesalahan penulisan di file migration.

Langkah 4: Cek Tabel (Opsional)

4 Kamu bisa melihat apakah tabel sudah benar-benar ada dengan perintah:

php artisan db:show

Atau bisa juga menggunakan perintah SQLite langsung. Jika ingin lebih jelas, gunakan aplikasi DB Browser for SQLite untuk membuka file database.sqlite dan lihat tabel siswa.

Di dalam tabel, sekarang masih kosong. Nanti kita akan mengisinya dengan data melalui fitur CRUD.

🚀 Hebat! Kamu sudah membuat tabel pertama di Laravel! Sekarang kita punya wadah untuk menyimpan data siswa. Langkah selanjutnya: membuat Model, Controller, dan halaman CRUD agar bisa menambah, melihat, mengubah, dan menghapus data siswa. Terus semangat! 💪

Ringkasan (Catatan Penting)

  • ✅ Perintah membuat migration: php artisan make:migration create_siswa_table
  • ✅ Isi migration dengan kolom: id, nama, kelas, alamat, timestamps
  • ✅ Jalankan migration: php artisan migrate
  • ✅ Tabel "siswa" siap digunakan!

📌 Ingat: Migration membantu kita mengelola perubahan struktur database dengan mudah. Setiap kali kita ingin menambah kolom, kita bisa membuat migration baru. Praktis, bukan?

(Link akan aktif saat artikel sebelumnya dan selanjutnya terbit)

📘 Laravel 12 CRUD untuk Sekolah Dasar • #5 Membuat Tabel "siswa" dengan Migration • 🏛️ Tabel siap!
Lebih baru Lebih lama

نموذج الاتصال