Saya telah mencoba proyek database RedGate dan Visual Studio dan saya lebih suka menyimpan definisi database dalam proyek database. Segera setelah database menjadi bagian dari solusi, Anda dapat menggunakan penyedia kontrol sumber pilihan Anda. Sebagian besar memiliki integrasi Visual Studio yang sangat baik.
Dengan alat SSDT Anda memiliki 'versi terbaru' dari definisi basis data, memungkinkan Anda untuk dengan mudah membuat perbandingan skema dan menghasilkan skrip peningkatan skema.
Konon, skema biasanya hanya bagian dari persamaan. Dalam kehidupan nyata ternyata database sudah memiliki banyak data. Dan pengguna saya cenderung agak kecewa ketika kehilangan itu.
Jadi segera setelah saya meluncurkan v1.0 perlu muncul untuk mempertahankan skrip upgrade. Kadang-kadang ini hanya berisi perubahan skema, tetapi berkali-kali saya perlu membuat default berdasarkan konten dari beberapa tabel lain, perlu merilis batasan tertentu sampai saya seeded data dll. Biasanya hanya dengan memperbarui skema tidak cukup memotongnya. Preferensi saya adalah memiliki skrip pemutakhiran ini di folder terpisah di proyek basis data juga. Ini biasanya terlihat seperti 'upgrade dari v1.0 ke v1.1'.
Basis data saya selalu memiliki tabel referensi yang memberi tahu saya nomor versi saat ini, jadi saya dapat memblokir pembaruan yang tidak kompatibel. Pernyataan pertama dalam skrip pemutakhiran saya memeriksa versi saat ini dan memberikan jaminan jika berbeda dari yang diharapkan.
Manfaat lain dari proyek basis data adalah untuk dapat menggunakan set data yang berbeda berdasarkan skema yang sama. Saya memiliki kumpulan data yang berbeda untuk pengembangan, tim QA, tes penerimaan pengguna dan untuk tes integrasi otomatis. Karena proyek basis data hanya dapat memiliki 1 skrip pasca-penempatan, triknya di sini adalah membuat proyek basis data baru yang merujuk proyek 'master' dan menjadikan kumpulan data khusus sebagai bagian dari proses pasca penempatan proyek tersebut.
Ini adalah 2 sen saya, Apapun proses yang Anda lakukan, di atas segalanya, itu pasti cocok untuk Anda dan tim Anda dan mudah-mudahan mendukung Anda dengan sebagian besar tugas umum.