Apa cara yang baik untuk memigrasikan perubahan DB dari Pengembangan ke QA ke lingkungan Produksi? Saat ini kami:
- Script perubahan dalam file SQL dan lampirkan ke item kerja TFS.
- Pekerjaan ini ditinjau oleh rekan sejawat
- Ketika pekerjaan siap untuk pengujian maka SQL dijalankan pada QA.
- Pekerjaan diuji QA
- Ketika pekerjaan siap untuk produksi maka SQL dijalankan pada basis data produksi.
Masalahnya adalah ini sangat manual. Itu bergantung pada pengembang mengingat untuk melampirkan sql atau peer-reviewer menangkapnya jika pengembang lupa. Kadang-kadang, itu akhirnya menjadi tester atau penyebar QA yang menemukan masalah.
Masalah kedua adalah bahwa Anda terkadang perlu mengoordinasikan perubahan secara manual jika dua tugas terpisah mengubah objek database yang sama. Ini mungkin memang seperti itu tetapi sepertinya masih ada cara otomatis untuk "menandai" masalah ini atau semacamnya.
Pengaturan kami: Toko pengembangan kami penuh dengan pengembang dengan banyak pengalaman DB. Proyek kami sangat berorientasi pada DB. Kami terutama toko .NET dan MS SQL. Saat ini kami menggunakan Item Kerja MS TFS untuk melacak pekerjaan kami. Ini berguna untuk perubahan kode karena ini menghubungkan perubahan ke item pekerjaan sehingga saya bisa mengetahui dengan tepat perubahan apa yang perlu saya sertakan saat bermigrasi ke lingkungan QA dan Produksi. Kami saat ini tidak menggunakan proyek DB tetapi dapat beralih ke yang di masa depan (mungkin itu adalah bagian dari jawabannya).
Saya sangat terbiasa dengan sistem kontrol sumber saya mengurus hal-hal seperti ini untuk saya dan ingin memiliki hal yang sama untuk SQL saya.