Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

skema mysqldump saja, pembaruan skema tanpa drop

Bagaimana MySQL tahu apa yang harus diperbarui? Itu tidak dapat mengetahui status database orang lain, sehingga tidak dapat mengetahui pembaruan apa yang harus diterapkan. Selain itu, pembaruan sering kali membutuhkan lebih dari sekadar mengubah skema; mereka mungkin memerlukan perubahan pada data yang sudah ada, atau mungkin memerlukan data untuk dipindahkan dari skema lama ke skema baru. Anda tidak akan pernah mendapatkan sesuatu yang secara otomatis mendeteksi semua itu.

Solusi yang tepat adalah dengan menulis migrasi. Setiap kali Anda mengubah database, alih-alih hanya mengubah skema salinan pengembangan Anda sendiri, Anda menulis skrip untuk memperbarui dari skema sebelumnya ke yang baru (dan biasanya skrip untuk menurunkan versi kembali ke skema sebelumnya, sehingga Anda dapat melakukannya bahwa jika Anda perlu memutar kembali pembaruan). Skrip tersebut melakukan apa pun yang Anda perlukan untuk mengubah skema, memindahkan data, dan sejenisnya.

Sebagian besar kerangka kerja web modern, seperti Ruby on Rails , memiliki dukungan untuk migrasi agar lebih mudah melacak migrasi yang telah Anda jalankan. Jika Anda tidak menggunakan kerangka kerja yang mendukung migrasi, tidak akan terlalu sulit untuk menulis skrip Anda sendiri untuk menerapkan migrasi. Cukup beri nomor setiap migrasi, atau masukkan tanggal di dalamnya, dan simpan tabel di database Anda yang hanya menyimpan versi skema saat ini yang Anda gunakan. Saat Anda menjalankan skrip migrasi, jika ada migrasi yang lebih baru dari versi saat ini, terapkan skrip tersebut secara berurutan, lalu perbarui nomor di database yang menyatakan versi yang Anda gunakan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfigurasi CentOs Php dan MySql

  2. bagaimana cara mengabaikan backtick di codeigniter saat menggunakan catatan aktif? saya perlu memesan berdasarkan kasus

  3. Membuat papan peringkat, bagaimana cara menampilkan peringkat/posisi?

  4. Kompleksitas Waktu Menyortir database

  5. Bagaimana saya bisa menambahkan string ke bidang yang ada di MySQL?