Inject tabel dengan migrasi atau buat manual dengan model di Laravel

Saya berencana ingin re-write aplikasi web yang sebelumnya memakai CodeIgniter dengan Laravel nah, karena database dan tabelnya (yang sudah berisi data tentu saja) sudah ada, saya bingung apakah lebih baik saya buat file migration dan seeder (untuk master data yang sudah pasti, seperti seeder untuk nama bagian/divisi misalnya) satu per-satu yang nama dan kolom tabelnya sesuai dengan nama tabel dan kolom yang ada sebelumnya, yang mana ini akan lebih memudahkan kedepannya. Dan untuk datanya, saya akan inject dari tabel sebelumnya.

Atau, saya tidak usah membuat migration dan seeder, cukup buat model dan dari model tersebut saya "sambungkan" model secara manual dengan tabel-tabel yang ada sesuai namanya?

Terima kasih.

avatar yuxxeun
@yuxxeun

97 Kontribusi 50 Poin

Diperbarui 1 tahun yang lalu

2 Jawaban:

Menurut saya, lebih baik jika Anda membuat migration dan seeder walaupun database dan tabel beserta datanya sudah ada. Beberapa alasan mengapa:

Migration berperan sebagai version control database. Memudahkan team atau pengembang baru untuk mengikuti perubahan skema database. Memudahkan dalam mereplikasi database ke environment baru. Cukup jalankan migrate, Anda tidak perlu export import manual. Fitur rollback migration sangat membantu saat ada masalah dengan skema baru. Seeder digunakan untuk data master yang sifatnya statis. Lebih rapi dibanding harus insert langsung. Tabel sudah ada sebelumnya bukan berarti tidak bisa dibuatkan migration. Cukup definisikan skemanya saja di migration. Sedangkan untuk data selain master, bisa di-inject langsung atau gunakan seeder khusus.

Jadi solusi terbaik menurut saya:

Buat migration & seeder master data Inject data lainnya Buat model mengikuti nama tabel yang sudah ada Dengan begitu Anda tetap mengikuti best practice Laravel walau database sudah ada sebelumnya.

avatar adamajalah27
@adamajalah27

119 Kontribusi 40 Poin

Dipost 1 tahun yang lalu

Setuju dengan jawaban sebelumnya, menurut saya "sayang" kalau tidak menggunakan fitur migration. Migration banyak membantu saya mengurus masalah perubahan database.

Sebagian orang melihat ini sebagai "kerjaan ekstra", buat saya pribadi ini fitur yang sangat membantu ke depannya.

avatar hilmanski
@hilmanski

2690 Kontribusi 2138 Poin

Dipost 1 tahun yang lalu

Login untuk ikut Jawaban