Penjelasan :
Hallo semua, pada topik kali ini saya akan memberikan hasil eksplorasi mandiri mata kuliah framework menggunakan laravel terkait fitur migrasi (migration). Sebelum masuk ke pembahasan, kita perlu mengetahui terlebih dahulu apa itu migrasi. Intinya, migrasi merupakan fitur pada framework Laravel yang digunakan untuk membuat sebuah skema atau kerangka database yang meliputi tabel dan strukturnya, sekaligus mengelola tabel-tabel tersebut tanpa harus menulis query SQL secara langsung.
Seperti yang sudah dibahas di atas, migrasi biasanya dipakai untuk mengelola tabel. Berdasarkan dokumentasi Laravel versi 10, fitur migrasi ini menjelaskan pengelolaan database seperti membuat tabel, melakukan perintah up maupun down, rollback, dan sebagainya. Namun, untuk manipulasi isi data tidak dijelaskan secara rinci apakah boleh atau tidak dilakukan pada fitur ini. Karena hal tersebut, saya mencoba bereksperimen untuk mengetahui apakah manipulasi data dapat dilakukan di dalam migrasi. Dari dasar itu pula saya membawakan topik ini agar bisa memberikan wawasan baru terkait apa yang sudah saya pelajari.
Sebelum praktik, saya perlu menyampaikan disclaimer bahwa topik ini tidak relevan dengan best practice. Biasanya, untuk manipulasi data sendiri jika masih dalam tahap development atau belum dipublikasikan sebaiknya menggunakan seeder, karena fitur tersebut memang khusus untuk mengelola data seperti data dummy. Sementara itu, jika sudah masuk tahap production lebih baik menggunakan Eloquent karena berhubungan langsung dengan interaksi antara pengguna dan sistem. Jadi, masing-masing fitur sebenarnya sudah memiliki fungsinya masing-masing.
Praktik :
Pertama buat dahulu empat file migrasi yaitu sekolah, insert, update, delete :
1. Buat dahulu table sekolah di salin :
- php artisan make:migration create_sekolah
- isinya bisa dilihat di lampiran gambar_table_sekolah
-
- php artisan migrate
2. Lalu isi datanya :
- php artisan make:migration create_insert_sekolah
- isinya bisa dilihat di lampiran gambar_insert_sekolah (harus pakai package façade/db karena query builder)
-
- php artisan migrate
3. Lalu kita update :
- php artisan make:migration create_update_sekolah
- isinya bisa dilihat di lampiran gambar_update_sekolah (harus pakai package façade/db karena query builder)
-
- php artisan migrate
4. terakhir delete :
- php artisan make:migration create_delete_sekolah
- isinya bisa dilihat di lampiran gambar_delete_sekolah (harus pakai package façade/db karena query builder)
-
- php artisan migrate
5. untuk rollback ke awal lakukan :
- php artisan migrate:rollback --step=4 (perintah ini akan mengembalikan migrasi dari 4 batch terakhir, bisa dilihat di table migration pada database batchnya naik ketika migrasi baru).