Penerapan dapat menjalankan lebih dari satu versi aplikasi sekaligus. Mengganti nama atau menghapus kolom database dalam rilis yang sama dapat merusak proses lama yang masih mengharapkannya.

Perluas, migrasi, lalu kontraksikan

  • Tambahkan bidang atau tabel baru tanpa menghapus struktur lama.
  • Terapkan kode yang dapat membaca data yang ada dan menulis representasi baru.
  • Isi ulang dalam batch yang dibatasi, verifikasi hasilnya, lalu alihkan pembacaan ke bidang baru.

Hapus kontrak lama nanti

Setelah semua versi aplikasi dan pekerja latar belakang dipindahkan, berhenti menulis kolom lama dan amati sistem. Hapus dalam migrasi terpisah dengan rencana pemulihan yang teruji.

Pengisian ulang dalam jumlah besar memerlukan kemajuan, batas kecepatan, dan cara untuk melanjutkan. Uji perilaku migrasi pada volume data yang realistis; migrasi yang berfungsi pada database pengembangan kecil mungkin mengunci tabel produksi yang sibuk.