Introduction to Data Seeding/Migration

Jessica Naraiswari Arwidarasti
Dekowarehouse Project
2 min readMay 17, 2018

Setelah sebelumnya menjelaskan panjang lebar mengenai refactor dan design pattern, sekarang ada hal lainnya yang perlu diketahui, yaitu data seeding and migration. Apakah data seeding and migration itu? Mengapa mereka penting?

WHAT IS DATA SEEDING?

Data seeding adalah inisialisasi atau penempatan awal dari suatu basis data.

Mengapa data seeding penting? Karena tentunya melakukan pengembangan suatu aplikasi yang membutuhkan data tidak mudah. Oleh karena itulah, perlu adanya inisialisasi data tersebut yang di kemudian hari akan dikembangkan lebih lanjut. Inisialisasi data tersebut dapat digunakan sementara pada tahap development.

Data seeding berkaitan dengan tipe entitas data yang merupakan bagian dari model konfigurasi. Biasanya data yang ada pada seeding data jarang diubah di aplikasi. Tetapi karena perubahan requirement, maka data seeding perlu di-reload pada tahap deployment. Karena itulah perlu adanya automatic data seeding. Agar tidak perlu pusing-pusing memikirkan perubahan data seeding, maka solusi yang dapat dilakukan yaitu mengatur pada pengaturan awal aplikasi agar data seeding dapat dilakukan secara otomatis.

Adapun data seeding ini tidak memerlukan data yang besar. Melainkan data kecil yang merupakan bagian dari data yang besar tersebut. Data seeding tidak perlu sempurna. Data seeding cukup dengan data dummy. Karena tujuan awal data seeding ini adalah untuk mengecek apakah aplikasi berjalan sesuai dengan yang diharapkan.

Setelah melakukan data seeding, hal yang perlu diketahui berikutnya yaitu migration. Apakah itu migration?

WHAT IS MIGRATION?

Migration adalah proses transferring data antar format file. Hal ini merupakan suatu hal yang perlu dipertimbangkan karena akan berguna pada saat implementasi ataupun melakukan upgrade. Database Migration dapat disebut juga dengan version control dari database, sehingga tim developer dapat melakukan modifikasi dan berbagi skema database dengan mudah.

IMPLEMENTATION IN THE PROJECT

Implementasi data seeding pada proyek ini telah dibuat oleh Dekoruma yang dapat diakses melalui kode dibawah ini.

import { InstantSearch, Hits } from 'react-instantsearch/dom';
import React, { Component } from 'react';
class App extends Component {
render() {
return(
<InstantSearch
appId=[APP-ID]
apiKey=[API-KEY]
indexName=[INDEX-NAME]
>
<Hits hitComponent={COMPONENT-NAME} />
</InstantSearch>
);
}
}

Sementara implementasi migration pada proyek ini belum dilakukan, melainkan berupa refactoring data dari dummy menjadi data dari algolia dengan index staging.

References:

--

--