Integrasi kontrol sumber database SQL di Microsoft Fabric
Berlaku untuk:✅Database SQL di Microsoft Fabric
Dalam tutorial ini, Anda mempelajari cara bekerja dengan database SQL Anda di Fabric dengan kontrol sumber integrasi git Fabric.
Database SQL di Microsoft Fabric memiliki integrasi kontrol sumber, atau "integrasi git", memungkinkan pengguna SQL untuk melacak definisi objek database mereka dari waktu ke waktu. Integrasi ini memungkinkan tim untuk:
- Terapkan database ke kontrol sumber, yang secara otomatis mengonversi database langsung menjadi kode di repositori kontrol sumber yang dikonfigurasi (seperti Azure DevOps).
- Perbarui objek database dari konten kontrol sumber, yang memvalidasi kode di repositori kontrol sumber sebelum menerapkan perubahan diferensial ke database.
Jika Anda tidak terbiasa dengan git, berikut adalah beberapa sumber daya yang direkomendasikan:
Artikel ini menyajikan serangkaian skenario berguna yang dapat digunakan secara individual atau dalam kombinasi untuk mengelola proses pengembangan Anda dengan database SQL di Fabric:
- Mengonversi database Fabric SQL menjadi kode dalam kontrol sumber
- Memperbarui database Fabric SQL dari kontrol sumber
- Membuat ruang kerja cabang
- Gabungkan perubahan dari satu cabang ke cabang lainnya
Skenario dalam artikel ini dibahas dalam episode Data Terekspos. Tonton video untuk gambaran umum integrasi kontrol sumber di Fabric:
Prasyarat
- Anda memerlukan kapasitas Fabric yang ada. Jika tidak, mulai uji coba Fabric.
- Pastikan Anda Mengaktifkan database SQL di pengaturan penyewa Fabric.
- Pastikan Anda Mengaktifkan pengaturan penyewa integrasi Git.
- Buat ruang kerja baru atau gunakan ruang kerja Fabric yang ada.
- Membuat atau menggunakan database SQL yang ada di Fabric. Jika Anda belum memilikinya, buat database SQL baru di Fabric.
- Opsional: Instal Visual Studio Code, ekstensi mssql, dan ekstensi proyek SQL untuk VS Code.
Siapkan
Koneksi repositori ini berlaku di tingkat ruang kerja, sehingga satu cabang di repositori dikaitkan dengan ruang kerja tersebut. Repositori dapat memiliki beberapa cabang, tetapi hanya kode di cabang yang dipilih di pengaturan ruang kerja yang akan berdampak langsung pada ruang kerja.
Untuk langkah-langkah menyambungkan ruang kerja Anda ke repositori kontrol sumber, lihat Mulai menggunakan integrasi Git. Ruang kerja Anda dapat disambungkan ke repositori jarak jauh Azure DevOps atau GitHub.
Menambahkan database Fabric SQL ke kontrol sumber
Dalam skenario ini, Anda akan menerapkan objek database ke kontrol sumber. Anda mungkin mengembangkan aplikasi tempat Anda membuat objek secara langsung dalam database pengujian dan melacak database tersebut di kontrol sumber seperti kode aplikasi Anda. Akibatnya, Anda memiliki akses ke riwayat definisi objek database Anda dan dapat menggunakan konsep Git seperti percabangan dan penggabungan untuk menyesuaikan proses pengembangan Anda lebih lanjut.
- Sambungkan ke database SQL Anda di editor Fabric SQL, SQL Server Management Studio, ekstensi mssql dengan Visual Studio Code, atau alat eksternal lainnya.
- Buat tabel baru, prosedur tersimpan, atau objek lain dalam database.
-
...
Pilih menu untuk database, pilih Refresh status sinkronisasi Git. - Pilih tombol Kontrol sumber untuk membuka panel kontrol sumber.
- Pilih kotak centang di samping database yang diinginkan. Pilih Terapkan. Layanan Fabric membaca definisi objek dari database dan menulisnya ke repositori jarak jauh.
- Sekarang Anda dapat melihat riwayat objek database dalam tampilan sumber repositori kode.
Saat Anda terus mengedit database, termasuk mengedit objek yang sudah ada, Anda bisa menerapkan perubahan tersebut ke kontrol sumber dengan mengikuti langkah-langkah sebelumnya.
Memperbarui database Fabric SQL dari kontrol sumber
Dalam skenario ini, Anda akan membuat objek database sebagai kode dalam ekstensi proyek SQL di VISUAL Code, lalu menerapkan file ke kontrol sumber sebelum memperbarui database Fabric SQL dari integrasi kontrol sumber. Skenario ini ditargetkan untuk pengembang yang lebih suka bekerja di Visual Studio Code, memiliki aplikasi yang ada menggunakan proyek SQL, atau memiliki persyaratan alur CI/CD yang lebih canggih.
- Pastikan Anda telah menginstal rilis terbaru Visual Studio Code dan ekstensi proyek mssql dan SQL untuk VS Code.
- Anda akan menggunakan kontrol sumber git terintegrasi dari Visual Studio Code.
- Buat database SQL baru di ruang kerja Anda dan terapkan ke kontrol sumber tanpa menambahkan objek apa pun. Langkah ini menambahkan proyek SQL kosong dan metadata item database SQL ke repositori.
- Kloning repositori kontrol sumber ke komputer lokal Anda.
- Jika Anda menggunakan Azure DevOps, pilih
...
menu konteks untuk proyek kontrol sumber. Pilih Kloning untuk menyalin repositori Azure DevOps Anda ke komputer lokal Anda. Jika Anda baru menggunakan Azure DevOps, lihat Panduan kode dengan git untuk Azure DevOps. - Jika Anda menggunakan GitHub, pilih tombol Kode di repositori dan salin URL untuk mengkloning repositori ke komputer lokal Anda. Jika Anda baru menggunakan GitHub, lihat panduan kloning repositori .
- Jika Anda menggunakan Azure DevOps, pilih
- Buka folder kloning di Visual Studio Code. Cabang yang terkait dengan ruang kerja Anda mungkin bukan default. Anda akan melihat folder bernama
<yourdatabase>.SQLDatabase
di Visual Studio Code setelah mengalihkan cabang. - Buat
.sql
file untuk setidaknya satu tabel yang ingin Anda buat di database dalam struktur folder untuk database Anda. File harus berisiCREATE TABLE
pernyataan untuk tabel. Misalnya, buat file bernamaMyTable.sql
di folderdbo/Tables
dengan konten berikut:CREATE TABLE dbo.MyTable ( Id INT PRIMARY KEY, ExampleColumn NVARCHAR(50) );
- Untuk memastikan sintaksnya valid, kita dapat memvalidasi model database dengan proyek SQL. Setelah menambahkan file, gunakan tampilan Proyek Database di Visual Studio Code untuk Membangun proyek.
- Setelah build berhasil, Terapkan file ke kontrol sumber dengan tampilan kontrol sumber di Visual Studio Code atau antarmuka git lokal pilihan Anda.
- Dorong/sinkronkan penerapan Anda ke repositori jarak jauh. Periksa apakah file baru Anda telah muncul di Azure DevOps atau GitHub.
- Kembali ke antarmuka web Fabric dan buka panel kontrol Sumber di ruang kerja. Anda mungkin sudah memiliki pemberitahuan bahwa "Anda telah menunggu perubahan dari git". Pilih tombol Perbarui (Perbarui Semua) untuk menerapkan kode dari proyek SQL Anda ke database.
- Anda mungkin melihat database segera menunjukkan bahwa database tersebut "Tidak dikomit" setelah pembaruan. Ini karena fitur Integrasi Git melakukan perbandingan langsung dari semua konten file yang dihasilkan untuk definisi item, dan beberapa perbedaan yang tidak disengaja dimungkinkan. Salah satu contohnya adalah atribut sebaris pada kolom. Dalam kasus ini, Anda harus berkomitmen kembali ke kontrol sumber di antarmuka web Fabric untuk menyinkronkan definisi dengan apa yang dihasilkan sebagai bagian dari operasi penerapan.
- Setelah pembaruan selesai, gunakan alat pilihan Anda untuk menyambungkan ke database. Objek yang Anda tambahkan ke proyek SQL terlihat dalam database.
Catatan
Saat membuat perubahan pada proyek SQL lokal, jika ada kesalahan sintaks atau penggunaan fitur yang tidak didukung di Fabric, pembaruan database akan gagal. Anda harus mengembalikan perubahan kontrol sumber secara manual sebelum dapat melanjutkan.
Memperbarui database SQL di Fabric dari kontrol sumber menggabungkan build proyek SQL dan operasi penerbitan SqlPackage. Build proyek SQL memvalidasi sintaks file SQL dan menghasilkan file .dacpac
. Operasi penerbitan SqlPackage menentukan perubahan yang diperlukan untuk memperbarui database agar sesuai dengan file .dacpac
. Karena sifat antarmuka Fabric yang disederhanakan, opsi berikut diterapkan ke operasi penerbitan SqlPackage:
/p:ScriptDatabaseOptions = false
/p:DoNotAlterReplicatedObjects = false
/p:IncludeTransactionalScripts = true
/p:GenerateSmartDefaults = true
Proyek SQL yang dikontrol sumber juga dapat dikloning ke komputer lokal Anda untuk diedit di VISUAL Code, Visual Studio, atau alat proyek SQL lainnya. Proyek SQL harus dibangun secara lokal untuk memvalidasi perubahan sebelum menerapkannya ke kontrol sumber.
Membuat ruang kerja cabang
Dalam skenario ini, Anda akan menyiapkan lingkungan pengembangan baru di Fabric dengan meminta Fabric membuat sekumpulan sumber daya duplikat berdasarkan definisi kontrol sumber. Database duplikat akan menyertakan objek database yang telah kami periksa ke kontrol sumber. Skenario ini ditargetkan untuk pengembang yang melanjutkan siklus hidup pengembangan aplikasi mereka di Fabric dan memanfaatkan integrasi kontrol sumber dari Fabric.
- Selesaikan skenario konversi database Fabric SQL menjadi kode dalam kontrol sumber.
- Anda harus memiliki cabang di repositori kontrol sumber dengan proyek SQL dan metadata objek Fabric.
- Di ruang kerja Fabric, buka panel kontrol sumber. Dari tab Cabang dari menu Kontrol sumber, pilih Keluar cabang ke ruang kerja baru.
- Tentukan nama cabang dan ruang kerja yang akan dibuat. Cabang akan dibuat di repositori kontrol sumber dan diisi dengan konten cabang yang berkomitmen yang terkait dengan ruang kerja tempat Anda bercabang. Ruang kerja akan dibuat di Fabric.
- Navigasikan ke ruang kerja yang baru dibuat di Fabric. Saat pembuatan database selesai, database yang baru dibuat sekarang berisi objek yang ditentukan dalam repositori kode Anda. Jika Anda membuka editor kueri Fabric dan menavigasi di Object explorer, database Anda memiliki tabel baru (kosong) dan objek lainnya.
Gabungkan perubahan dari satu cabang ke cabang lainnya
Dalam skenario ini, Anda akan menggunakan repositori kontrol sumber untuk meninjau perubahan database sebelum tersedia untuk penyebaran. Skenario ini ditargetkan untuk pengembang yang bekerja di lingkungan tim dan menggunakan kontrol sumber untuk mengelola perubahan database mereka.
Buat dua ruang kerja dengan cabang terkait di repositori yang sama, seperti yang dijelaskan dalam skenario sebelumnya.
- Dengan database di cabang sekunder, buat perubahan pada objek database.
- Misalnya, ubah prosedur tersimpan yang sudah ada atau buat tabel baru.
- Periksa perubahan ini pada kontrol sumber dengan tombol Terapkan pada panel kontrol sumber di Fabric.
- Di Azure DevOps atau GitHub, buat permintaan pull dari cabang sekunder ke cabang utama.
- Dalam permintaan pull, Anda dapat melihat perubahan dalam kode database antara ruang kerja utama dan ruang kerja sekunder.
- Setelah Anda menyelesaikan permintaan pull, kontrol sumber diperbarui, tetapi database di Fabric pada ruang kerja utama tidak diubah. Untuk mengubah database utama, perbarui ruang kerja utama dari kontrol sumber menggunakan tombol Perbarui pada panel kontrol sumber di Fabric.