Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana saya harus memigrasikan perubahan DDL dari satu lingkungan ke lingkungan berikutnya?

Saya telah melihat cara saya-tidak-tahu-berapa-banyak mencoba untuk menangani ini, dan pada akhirnya saya pikir Anda hanya perlu memelihara skrip manual.

Sekarang, Anda tidak perlu menulis sendiri. Di MSSQL, saat Anda membuat perubahan, ada tombol kecil untuk Menghasilkan Skrip, yang akan mengeluarkan skrip SQL untuk perubahan yang Anda buat. Saya tahu Anda sedang membicarakan Oracle, dan sudah beberapa tahun sejak saya bekerja dengan GUI mereka, tetapi saya hanya bisa membayangkan bahwa mereka memiliki fitur yang sama.

Namun, Anda tidak bisa lepas dari bekerja dengan skrip secara manual. Anda akan mengalami banyak masalah seputar data yang sudah ada sebelumnya, seperti nilai default untuk kolom baru atau cara menangani data untuk kolom yang diganti namanya/dihapus/dipindahkan. Ini hanyalah bagian dari analisis dalam bekerja dengan skema database dari waktu ke waktu yang tidak dapat Anda hindari. Jika Anda mencoba melakukannya dengan solusi yang sepenuhnya otomatis, cepat atau lambat data Anda akan kacau.

Satu hal yang saya sarankan, hanya untuk membuat hidup Anda sedikit lebih mudah, pastikan Anda memisahkan perubahan skema dari perubahan kode. Perbedaannya adalah bahwa perubahan skema pada tabel dan kolom harus dijalankan tepat sekali dan tidak pernah lagi, dan oleh karena itu harus diversi sebagai skrip perubahan individual. Namun, perubahan kode, seperti procs yang disimpan, fungsi, dan bahkan tampilan, dapat (dan harus) dijalankan berulang-ulang, dan dapat diversi sama seperti file kode lainnya. Pendekatan terbaik untuk ini yang pernah saya lihat adalah ketika kami memiliki semua procs/fungsi/tampilan di VSS, dan proses pembuatan kami akan menghapus semua dan dan membuatnya kembali selama setiap pembaruan. Ini adalah ide yang sama dengan membangun kembali kode C#/Java/apa pun, karena memastikan semuanya selalu mutakhir.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:Hubungkan Dengan Loop dalam data pengguna

  2. Ambil gambar dari Oracle DB

  3. PLS-00103 Menemukan simbol> kesalahan saat menjalankan prosedur tersimpan

  4. Bandingkan String di Oracle

  5. LENGTH() Fungsi di Oracle