Automatic Data Seeding/Migration for Django

Ryan Naufal
PDB+R
Published in
2 min readApr 29, 2019
Data Migration

Halo semua, kembali lagi dengan saya yang akan menjelaskan Automatic Data Seeding/Migration untuk framework Django. Sebelumnya sudah pada kenal saya kan? kalo belum, perkenalkan nama saya Ryan yang merupakan salah satu hacker dari kelompok PDB+R.

Data Migration

Migration merupakan suatu mekanisme pada django untuk menyimpan perubahan yang dilakukan pada model/database baik itu penambahan, penghapusan, atau pengeditan model ke skema database yang digunakan.

python manage.py makemigrations
python manage.py migrate

Dua perintah diatas adalah yang biasa digunakan dalam melakukan migrations. Perintah python manage.py makemigrationsdigunakan untuk membuat migration baru berdasarkan perubahan yang dibuat pada model, sedangkan perintah python manage.py migrate digunakan untuk mengaplikasikan migration ke database. Setiap migration akan membuat sebuah file migrasi yang memiliki penanda history migrasi dan membuat file migrasi baru yang ada pada file 0001initial.py pada masing-masing fitur.

Data Seeding

Setelah database terbentuk, maka kita bisa menyimpan data yang ada kedalam database tersebut. Data seeding merupakan suatu kegiatan untuk melakukan penambahan data awal pada database sebelum aplikasi dijalankan. Karena Django tidak mempunyai fitur penambahan otomatis, maka kami melakukan pembuatan data dummy.

Salah satu contoh pembuatan data dummy pada fitur CRUD Term.

Pada fitur ini diperlukan input data sebelum aplikasi dijalankan untuk membuat term aktif yaitu term yang sedang berjalan saat ini.

Data dummy hanya dapat digunakan pada environment development. Untuk environment production, data seeding yang digunakan harus merupakan data asli atau data yang diberikan oleh user atau stakeholder pada aplikasi tersebut.

Penutup

Menurut saya, Migration adalah salah satu fitur penting di Django. Migrations memiliki peran penting dalam operasional database, agar perubahan struktur database tidak memiliki efek samping pada data pengguna dan membuat database tetap teratur. Kita perlu mengetahui apa yang terjadi pada proses migration jika ingin membuat fungsi backend pada suatu aplikasi. Adapun data seeding adalah cara yang digunakan ketika kita membutuhkan data-data awal untuk menjalankan aplikasi yang kita buat.

Mungkin Data Migration, dan Data Seeding dari saya segini dulu, semoga tulisan saya ini bermanfaat buat kalian. Sampai jumpa lagi pada tulisan saya selanjutnya ya :)

--

--