Migration

Fitur Laravel untuk menjaga histori migrasi database (CREATE, ALTER, DROP), mengaplikasikan migrasi baru ataupun mengembalikannya. Fitur ini memiliki mekanisme yang sama seperti git di mana kita dapat menjalankan (execute) dan mengembalikan (revert) perubahan migrasi yang kita lakukan.

STUDI KASUS 1 : Buatlah migrasi baru untuk membuat tabel t_percobaan. Cobalah buat minimal 15 field yang berbeda pada tabel tersebut

Langkah pertama yang dilakukan adalah membuat file migration baru melalui terminal. Setelah file migrasi terbentuk, berikut adalah struktur kodingan migration pada method up() untuk membuat tabel t_percobaan dengan 15 field lebih:

database/migrations/xxxx_xx_xx_xxxxxx_create_t_percobaan_table.php
public function up(): void
{
    Schema::create('t_percobaan', function (Blueprint $table) {
        $table->id();
        $table->integer('nis');
        $table->string('nama panjang', 100);
        $table->string('jenis kelamin', 1);
        $table->string('wali kelas', 100);
        $table->integer('umur');
        $table->string('tempat tinggal', 100);
        $table->string('musik favorit', 100);
        $table->string('olahraga favorit', 100);
        $table->string('asal sekolah', 100);
        $table->string('makanan kesukaan', 100);
        $table->integer('nisn');
        $table->string('asal suku', 100);
        $table->string('pengalaman', 100);
        $table->integer('nomor telfon');
        $table->string('akun instagram', 100);
        $table->timestamps();
    });
}

Setelah kodingan migrasi di atas selesai dibuat, jalankan perintah php artisan migrate pada terminal. Jika migrasi berhasil, maka struktur tabel akan otomatis terbuat di database phpMyAdmin seperti screenshot di bawah ini:

Tabel di Database phpMyAdmin :

Struktur Tabel phpMyAdmin

STUDI KASUS 2: Membuat Migrasi Data

Setelah migrasi dijalankan, langkah selanjutnya adalah mengatur logika bisnis di dalam SiswaController. Controller ini akan menangani fungsi Create, Read, Update, dan Delete.

1. Buatlah tabel t_kelas dengan field nama_kelas, jurusan

Struktur Tabel phpMyAdmin

2. Buatlah perubahan tabel t_kelas dengan menambahkan field lokasi_ruangan dengan tipe data string dan panjang 100 karakter

Struktur Tabel phpMyAdmin

3. Buatlah perubahan tabel t_kelas, jurusan dengan mengganti panjangnya menjadi 50 karakter

Struktur Tabel phpMyAdmin

4. Buatlah perubahan tabel t_kelas dengan menambahkan field nama_walkel dengan tipe data string dan panjang 50 karakter

Struktur Tabel phpMyAdmin

5. Buatlah perubahan tabel t_kelas dengan mengubah nama field nama_walkel menjadi nama_wali_kelas

Struktur Tabel phpMyAdmin