ProgrammerZamanNow / qna

Q&A Bareng Programmer Zaman Now, Orang Ganteng dan Intelek
259 stars 7 forks source link

Handle existing data saat database migration #570

Open pengdst opened 1 year ago

pengdst commented 1 year ago

izin bertanya mas @khannedy atau temen2. biasanya saat bikin database migration mungkin ada yang perubahannya cukup ekstrim, misalnya saja mau split table.

misalnya saja ada 1 tabel user yang pengen displit jadi 2 tabel

  1. tabel user untuk menampung khusus data identitas user seperti nama, alamat, tanggal lahir, dsb
  2. tabel credential yang khusus untuk menampung credential user misalnya email, password, dsb

nah dalam case ini, gimana caranya supaya data yang sudah exist tidak rusak/hilang ketika nanti dipisah menjadi 2 tabel (atau mungkin pada case2 lain)?

philipsjp26 commented 1 year ago
  1. buat migration nya utk table yang akan dipisah, misal user table dan user_credentials.
  2. Buat seeder atau task utk mengerjakan, ambil data user dan insert ke table barunya
  3. hasil inser akan mereturn id nya, id tersebut dipakai utk insert ke user_credentials lg
pengdst commented 1 year ago

wah udah jawab mas. berarti stepnya dalam 1 file migration

  1. buat tabel baru
  2. insert tabel lama ke tabel baru

emang kalo case yg datanya udah exist gini harus datanya juga ikut dimigrasi, gabisa migration struktur tabelnya aja ya. thanks mas