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:
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 :
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
2. Buatlah perubahan tabel t_kelas dengan menambahkan field lokasi_ruangan dengan tipe data string dan panjang 100 karakter
3. Buatlah perubahan tabel t_kelas, jurusan dengan mengganti panjangnya menjadi 50 karakter
4. Buatlah perubahan tabel t_kelas dengan menambahkan field nama_walkel dengan tipe data string dan panjang 50 karakter
5. Buatlah perubahan tabel t_kelas dengan mengubah nama field nama_walkel menjadi nama_wali_kelas