Perubahan skema basis data
Perangkat lunak modern umumnya memiliki lapisan basis data. Yang biasa digunakan adalah basis data relasional, yang menyimpan data dan struktur data. Dalam proses pengiriman berkelanjutan, seringnya basis data perlu diubah. Menangani perubahan pada basis data relasional memerlukan pertimbangan khusus, dan sering menimbulkan tantangan yang berbeda yang muncul di proses deployment biner aplikasi. Saat meningkatkan biner aplikasi, Anda biasanya menghentikan aplikasi, meningkatkan, kemudian memulainya lagi. Anda tidak begitu memperhatikan status aplikasi, yang ditangani di luar aplikasi.
Saat meningkatkan basis data, Anda perlu mempertimbangkan status karena sebuah basis data dapat berisi banyak status dengan sedikit logika dan struktur.
Skema basis data sebelum dan sesudah penerapan perubahan harus dianggap sebagai versi basis data yang berbeda. Anda dapat menggunakan alat seperti Liquibase dan Flyway untuk mengelola versi.
Secara umum, alat-alat tersebut menggunakan beberapa varian metode berikut:
-
Menambahkan tabel ke basis data yang digunakan untuk menyimpan versi basis data.
-
Melacak perintah perubahan basis data dan mengumpulkannya dalam versi set perubahan. Pada Liquibase, perubahan ini disimpan dalam file XML. Flyway menggunakan metode yang sedikit berbeda, yaitu menangani set perubahan sebagai file SQL terpisah atau kadang-kadang sebagai kelas Java terpisah untuk transisi yang lebih kompleks.
-
Saat diminta untuk meningkatkan basis data, Liquibase akan melihat tabel metadata dan menentukan set perubahan mana yang akan dijalankan untuk memperbarui basis data ke versi terbaru.