Migration itu penting. Ya, saya sudah mengimlementasikannya pada CodeIgniter jauh sebelum fitur migration dirilis pada framework tersebut. Walau tidak bisa dijalankan di level production, tetap saja migration harus tetap dibuat setiap kali ada perubahan struktur pada database. Selain untuk log dan arsip, migration juga memudahkan developer ketika bekerja dalam sebuah tim.
Hari ini, saya tertegun dengan begitu banyaknya file migration yang dibuat dalam Framework Laravel. Ada banyak perubahan struktur di beberapa tabel. Ini menandakan kalau database design yang saya buat belum matang sepenuhnya.
Seandainya migration tersebut dijalankan dari awal menggunakan perintah di bawah, maka akan menghasilkan banyak error di beberapa tempat. Karena, ada beberapa tabel atau field yang dibuat tanpa menggunakan migration. Seringkali, saya melakukan restruktur tabel secara langsung melalui SQL Editor semacam SQLYog atau HeidiSQL.
php artisan migrate:refresh
Maka dari itu, tugas saya hari ini sederhana: Membalik Migration.
Alih-alih kita membuat tabel atau restruktur tabel menggunakan file migration, kali ini saya membuat file migration berdasarkan tabel yang sudah ada. Fungsinya apa? Ya itu tadi, ketika migration dijalankan dari awal tidak menghasilkan error. Hal ini juga berguna ketika saya akan melakukan fresh install pada server yang berbeda.
Repotkah tugas hari ini? Ah, saya pakai librari ini kok: https://github.com/Xethron/migrations-generator. Cukup install dan jalankan command dari terminal, and magic happens.
Sekali lagi, terimakasih Composer dan Xethron. Jasa kalian di luar sana bisa menghemat ribuan dollar uang.