Pendahuluan

Selesai

Proses penyebaran manual untuk perubahan database lambat dan rawan kesalahan. Seseorang menulis skrip, mengirimnya melalui email ke administrator database, dan menunggunya dijalankan selama jendela pemeliharaan. Jika terjadi kesalahan, menggulung balik sulit karena tidak ada yang melacak status skema yang tepat sebelum perubahan. Sementara itu, pengembang yang mengerjakan fitur berbeda menggantikan perubahan satu sama lain karena tidak ada alur kerja terstruktur untuk kode basis data.

Bayangkan tim yang mengelola aplikasi e-niaga di Azure SQL Database. Tiga pengembang menambahkan fitur yang memerlukan perubahan skema. Satu menambahkan tabel kategori produk baru, yang lain memodifikasi prosedur penyimpanan untuk pemrosesan pesanan, dan yang ketiga memperbarui tampilan pencarian pelanggan. Tanpa kontrol sumber, alur CI/CD, dan pengujian otomatis, perubahan ini bertabrakan. Perbaikan yang diterapkan langsung ke produksi tidak sinkron dengan lingkungan pengembangan. Penerapan menimpa hotfix, menyebabkan gangguan produksi saat jam puncak.

Proyek SQL Database dan alur CI/CD menyelesaikan masalah ini dengan memperlakukan kode database dengan rigor yang sama dengan kode aplikasi. Anda mengelola versi setiap objek, mengotomatiskan kompilasi dan penyebaran, mendeteksi kapan database aktif menyimpang dari proyek, dan menguji perubahan sebelum digunakan dalam produksi.

Setelah menyelesaikan modul ini, Anda dapat:

  • Membuat, membangun, dan memvalidasi model database dengan menggunakan Proyek SQL Database, termasuk gaya SDK.
  • Konfigurasikan kontrol sumber untuk Proyek SQL Database dan kelola data referensi dengan skrip pra-penyebaran dan pasca-penyebaran.
  • Mengelola pencabangan, permintaan pull, dan resolusi konflik untuk kode database.
  • Deteksi penyimpangan skema dengan menggunakan alat perbandingan skema dan SqlPackage.
  • Terapkan alur CI/CD dengan GitHub Actions dan Azure DevOps, termasuk manajemen rahasia dan kontrol penyebaran.
  • Merancang dan menerapkan strategi pengujian dengan pengujian unit dan pengujian integrasi.