Saya baru-baru ini mulai bekerja dengan kontrol versi dalam pengembangan web saya menggunakan subversi. Ini berfungsi baik untuk mengelola file yang saya kembangkan tetapi tidak melakukan apa pun untuk perubahan yang kadang-kadang perlu saya buat ke database. Sepengetahuan saya server yang saya kerjakan tidak memiliki sistem manajemen DB dan saya kemungkinan tidak akan bisa menginstalnya. Opsi apa yang ada untuk mengelola DB di lingkungan seperti ini?
database
version-control
Kenneth
sumber
sumber
Jawaban:
K. Scott Allen telah menulis beberapa posting blog yang bagus tentang ini beberapa tahun yang lalu. Mereka mungkin "tua" dalam hal internet, tetapi solusinya masih sangat bagus.
sumber
Kerangka kerja migrasi adalah pustaka kode yang menyediakan API sederhana untuk mengotomatisasi perubahan DB, dengan beberapa mekanisme untuk versi DB.
Saya menggunakan Migrator.Net untuk beberapa proyek. Saya membuat kelas untuk setiap perubahan, dan kerangka kerja menyediakan cara sederhana untuk mengeksekusi perubahan terhadap DB. Saya juga dapat menjalankan perubahan ke depan dan ke belakang, asalkan saya memberi kode logika untuk penurunan versi serta peningkatan.
Kami kemudian mengelola kode migrasi di VCS kami seperti kode lainnya.
sumber
Backup Nightly tentu saja (setidaknya) .. Karena itu bukan hanya struktur DB yang Anda pedulikan.
Anda memiliki beberapa opsi:
1) Simpan skrip alter Anda di kontrol Sumber.
2) Setelah setiap perubahan db menghasilkan skrip Db .. dan Simpan yang ada di kontrol Sumber bersama dengan cadangan DB pada saat yang sama. Dengan cara ini Anda bisa melakukan perbandingan pada file Generated Script.
sumber