Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Berurusan dengan perubahan Database antara cabang versi/rollback di ASP.NET

Salah satu cara yang baik untuk melacak perubahan skema di beberapa cabang proyek pengembangan adalah dengan mengikuti pemfaktoran ulang basis data proses. Di antara manfaat lainnya, proses semacam ini menggabungkan penggunaan delta dan skrip migrasi untuk menerapkan perubahan skema ke setiap lingkungan (atau cabang dalam kasus Anda). Pengaturannya bisa terlihat seperti ini:

main
  src <-- ASP.NET project source
  db <-- Database create scripts
  delta <-- Database change scripts (SQL delta files)

branch
  src
  db <-- usually has the same contents as the copy in main branch
  delta <-- only the changes necessary for this branch

Setiap kali Anda perlu mengubah skema database untuk cabang tertentu, Anda membuat skrip delta SQL yang digunakan untuk menerapkan perubahan. Untuk membuatnya lebih mudah, saya sarankan untuk menamai setiap file skrip untuk menyertakan tanggal dan waktu pembuatan agar tetap berurutan. Contohnya adalah:

201102231435_addcolumn.sql
201102231447_addconstraint.sql
201103010845_anotherchange.sql

Tambahkan file delta ke kontrol sumber di cabang tempat perubahan skema perlu dilakukan. Anda harus berakhir dengan setiap cabang yang berisi persis apa yang diperlukan untuk mengubah database yang sesuai. Beberapa detail mungkin perlu disesuaikan untuk situasi Anda tergantung pada hal-hal seperti skema percabangan Anda dan apakah database Anda dipertahankan atau tidak selama proses rilis Anda (bukan dibuat ulang).

Akhirnya, untuk mencoba dan membuat konsep ini sederhana, saya akan merekomendasikan alat untuk membantu mengelola prosesnya. Saran saya adalah untuk melihat DBDeploy / DBDeploy.NET . Saya dengan senang hati menggunakannya selama bertahun-tahun di semua proyek saya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah T-SQL memiliki fungsi agregat untuk menggabungkan string?

  2. Mvc-Mini-Profiler v1.7 pada proyek EF 4.1 Code-First tidak memprofilkan SQL

  3. Buat Cadangan Server Sql di Mesin Lokal

  4. Pengecualian 0x80040154 dihasilkan saat menjalankan paket ssis sederhana di lingkungan MS SQL 2008R2

  5. SQL Server 2016 :Penyempurnaan OLTP Dalam Memori