Data Seeding / Migration

Benedictus Alvin
PDB+R
Published in
3 min readApr 30, 2019

Hai lagi para pembaca!! Kembali dengan saya Bene, hacker dari kelompok PDB+R. Kali ini saya akan membahas tentang data seeding / data migration. Simak baik-baik yaa!!

Sebelum membahas kedua hal tersebut, kami menggunakan models.py pada Django untuk projek kami. Models inilah yang akan merepresentasikan isi dari database kita. Berikut contoh isi models.py dari fitur CRUD Jadwal Dosen.

Data Migration ?

Migration adalah proses yang berguna untk menyimpan perubahan yang terjadi pada model / database, seperti penambahan model, penghapusan mode, dan pengeditan model. Hal ini terus dilakukan sejalan upgrade pada aplikasi yang kita kerjakan

python manage.py makemigrations
python manage.py migrate

Terdapat dua buah fungsi diatas, python manage.py makemigrations digunakan untuk membuat migration baru sesuai dengan perubahan yang terjadi pada model. Sedangkan python manage.py migrate digunakan untuk mengaplikasikan dan menyesuaikan migration ke database.

Migration File in CRUD Jadwal Dosen

Setelah dilakukan, maka setiap migration akan menghasilkan file migrasi pada masing-masing fitur. 0001initial.py akan berisikan model hasil migrasi fitur tersebut.

Data Migration dapat dianggap sebagai version control dari database, sehingga tim developer dapat melakukan modifikasi dan berbagi skema antar database dengan lebih mudah.

Kalau Data Seeding ?

Data seeding adalah inisialisasi atau penempatan awal dari suatu database. Setelah kita membentuk database, maka kita akan menyimpan suatu data ke dalam database tersebut.

Data perlu kita inisialisasi terlebih dahulu karena akan dimanfaatkan dalam pengembangan yang lebih lanjut. Inisialisasi data yang dilakukan juga dapat dilakukan dengan pembuatan metode untuk memasukan data dari user.

Creating Object for Jadwal Dosen

Selain itu dapat digunakan juga fungsi fixture yang disediakan django untuk melakukan load data seed. Salah satu format file yang dapat fixture import ke dalam database adalah JSON. Berikut adalah contoh data yang akan di seed:

fixtures.json

Data fixture diatas dapat di load dengan menggunakan fungsi python manage.py loaddata yang disediakan, kemudian data JSON tersebut akan di load ke dalam database.

Pada tahap production, data seeding yang digunakan adalah data asli atau data yang diisikan oleh user dari aplikasi tersebut.

Oke deh, saya rasa sekian dulu pembahasan tentang data seeding dan migration.

Farewell~~

--

--