Tantangan Migrasi pada GORM
Karena migrasi sql bisa membantu tetapi juga menakutkan.
Background
Pada contoh tutorial dari mas IndoKoding (lihat link YT dibawah), migrasi selalu dilakukan sebelum menjalankan GIN.
Hal ini menakutkan, mengingat schema dari DB berubah setiap kali ada perubahan pada struct gorm yg sdh didefinsikan sebelumnya.
Untuk menghilangkan ketakutan, saya akan melakukan pengujian perubahan schema dengan merubah model struct dan melihat dampaknya pada data yang lama.
Uji coba gorm
Bagaimana jika struct untuk migrasi berubah? Yaitu dengan cara
Nama kolom dihapus lalu Buat nama kolom baru.
Misalkan , kolom Name berubah menjadi CompleteName
Setelah migrasi, hasilnya:
- kolom name tetap ada di postgre, dengan data yang sudah diisi sebelumnya. Tidak dihapus oleh Gorm.
- Kolom completeName berhasil dibuatkan gorm di postgre, dengan catatan complete_name masih Null untuk data yang lama.
Sekian dari pengujian ku. Kira-kira tantangan apa lagi yang dapat ditemukan pada migrasi ya?
IndoKoding: https://www.youtube.com/watch?v=dRKncq7wRTM&t=1181s