Sitemap

Data Seeding/Migrations

3 min readApr 30, 2019

--

Data Seeding

Data Seeding merupakan proses memasukan data ke dalam database. Data Seeding dilakukan untuk mensimulasikan aplikasi dengan data yang digenerate secara random maupun tidak.

Data Seeding secara random biasanya dilakukan karena kita belum mempunyai data untuk dipakai pada aplikasi yang dibuat.

Contoh

Pada sesi ini akan saya contohkan bagaimana melakukan data seeding pada Django Framework dengan menggunakan Faker .

Install Faker menggunakan pip install Faker .

Katakan saya punya model Userpada aplikasi saya sebagai berikut

Berikut keaadaan Tabel User saya

Hanya terdapat 2 user pada tabel User .

Get Fakhril’s stories in your inbox

Join Medium for free to get updates from this writer.

Lalu saya membuat script untuk melakukan Data Seeding secara random sebagai berikut

Press enter or click to view image in full size

Dari script di atas saya melakukan seeding sebanyak 5 user. Berikut hasil seed

Seeding berhasil dilakukan

Migration

Data Migration dilakukan saat terjadi perubaha pada schema Database (DB). Perubahan tersebut seperti penambahan field/kolom baru pada suatu tabel, menambahkan dan menghabus tabel.

Pada django kita bisa menggunakan perintah berikut untuk melakukan migrations

python manage.py makemigrations
python manage.py migrate

Perintah python manage.py makemigrations dilakukan untuk membuat migration baru berdasarkan perubahan yang terjadi pada model. Sedangkan python manage.py migrate untuk mengaplikasikan perubahan ke database.

Contoh

Kita ingin menambahkan model baru, katakan UserBaru

Lalu kita jalankan perintah python manage.py makemigrations

Perintah python manage.py makemigrations akan membuat file pada [appname]\migrations\[something].py seperti berikut

Press enter or click to view image in full size

File diatas digunakan untuk membuat tabel baru pada Database berdasarkan model yang dibuat. Untuk mengaplikasikan migration tersebut kita jalankan perintah python manage.py migrate .

Migration berhasil diaplikasikan ke database. Sekarang di database kita sudah ada tabel UserBaru .

--

--