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

Membuat versi database SQL Server

Martin Fowler menulis artikel favorit saya tentang masalah ini, http://martinfowler.com/articles/evodb.html. Saya memilih untuk tidak menempatkan dump skema di bawah kontrol versi sebagai alumb dan yang lainnya menyarankan karena saya ingin cara mudah untuk meningkatkan basis data produksi saya.

Untuk aplikasi web di mana saya akan memiliki satu contoh database produksi, saya menggunakan dua teknik:

Skrip Peningkatan Basis Data

Skrip pemutakhiran basis data urutan yang berisi DDL yang diperlukan untuk memindahkan skema dari versi N ke N+1. (Ini masuk ke sistem kontrol versi Anda.) Tabel _version_history_, seperti

create table VersionHistory (
    Version int primary key,
    UpgradeStart datetime not null,
    UpgradeEnd datetime
    );

mendapat entri baru setiap kali skrip pemutakhiran berjalan yang sesuai dengan versi baru.

Ini memastikan bahwa mudah untuk melihat versi skema database yang ada dan skrip pemutakhiran database dijalankan hanya sekali. Sekali lagi, ini bukan dump basis data. Sebaliknya, setiap skrip mewakili perubahan diperlukan untuk berpindah dari satu versi ke versi berikutnya. Itu adalah skrip yang Anda terapkan ke database produksi untuk "meningkatkan versi".

Sinkronisasi Kotak Pasir Pengembang

  1. Skrip untuk mencadangkan, membersihkan, dan mengecilkan database produksi. Jalankan ini setelah setiap peningkatan ke DB produksi.
  2. Skrip untuk memulihkan (dan mengubah, jika perlu) cadangan di workstation pengembang. Setiap pengembang menjalankan skrip ini setelah setiap peningkatan ke DB produksi.

Peringatan:Pengujian otomatis saya berjalan terhadap database yang benar-skema tetapi kosong, jadi saran ini tidak akan sesuai dengan kebutuhan Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara MEMPERBARUI dari SELECT di SQL Server?

  2. OPENJSON "Sintaks salah di dekat kata kunci 'dengan'." di SQL Server (ASK)

  3. Pemeriksaan Kesehatan SQL Server Proaktif, Bagian 5:Statistik Tunggu

  4. Bagaimana menerapkan aplikasi dengan database sql server pada klien

  5. Perbarui Akun Email Basis Data (SSMS)