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

Kontrol sumber database dengan Oracle

Begitu banyak orang mencoba melakukan hal semacam ini (skema diff). Pendapat saya adalah

  • Kode sumber masuk ke alat kontrol versi (Subversion, CSV, GIT, Perforce ...). Perlakukan seolah-olah itu kode Java atau C, itu benar-benar tidak berbeda. Anda harus memiliki proses penginstalan yang memeriksanya dan menerapkannya ke database.
  • DDL ADALAH KODE SUMBER. Itu juga masuk ke alat kontrol versi.
  • Data adalah area abu-abu - tabel pencarian mungkin harus ada di alat kontrol versi. Data yang dihasilkan aplikasi tentu tidak.

Cara saya melakukan banyak hal akhir-akhir ini adalah membuat skrip migrasi yang mirip dengan migrasi Ruby on Rails. Masukkan DDL Anda ke dalam skrip dan jalankan untuk memindahkan database antar versi. Mengelompokkan perubahan untuk rilis ke dalam satu file atau kumpulan file. Kemudian Anda memiliki skrip yang memindahkan aplikasi Anda dari versi x ke versi y.

Satu hal yang tidak pernah saya lakukan lagi (dan saya biasa melakukannya sampai saya belajar lebih baik) adalah menggunakan alat GUI apa pun untuk membuat objek basis data di lingkungan pengembangan saya. Tulis skrip DDL dari hari 1 - Anda akan tetap membutuhkannya untuk mempromosikan kode untuk pengujian, produksi, dll. Saya telah melihat begitu banyak orang yang menggunakan GUI untuk membuat semua objek dan datanglah waktu rilis, ada scrabble untuk mencoba menghasilkan skrip untuk membuat/memigrasikan skema dengan benar yang sering kali tidak diuji dan gagal!

Setiap orang akan memiliki preferensi mereka sendiri tentang bagaimana melakukan ini, tetapi saya telah melihat banyak dari itu dilakukan dengan buruk selama bertahun-tahun yang membentuk pendapat saya di atas.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:bagaimana cara membatasi gabungan pada baris pertama yang ditemukan?

  2. Perbandingan tanggal Oracle rusak karena DST

  3. Sebuah meja masih ada saat dijatuhkan

  4. Cara menjalankan Opatch dalam bentuk non-interaktif

  5. Pertanyaan kunci utama / kunci asing komposit Oracle