it-swarm-id.com

Apakah buruk mengembangkan data produksi?

Saya selalu mendengar bahwa itu adalah praktik yang buruk untuk dikembangkan terhadap data produksi dan saya saat ini sedang dalam proses pindah ke model Dev> Stage> Production , terutama karena saya memiliki karyawan baru dengan keterampilan minimal dan Saya lebih suka belum membuatnya bekerja langsung dengan data produksi.

Tetapi untuk waktu yang lama saya telah bekerja secara langsung dengan data produksi dengan sakit kepala minimal, kecuali mungkin beberapa kesalahan merayap di sini atau di sana, hal-hal seperti masalah ejaan, teks alt buruk, tautan yang menunjuk ke lokasi yang salah. Ini tampaknya karena kurangnya peer review di pihak saya, bukan karena bekerja dengan data langsung.

Jadi mengapa berkembang di situs langsung merupakan praktik buruk?

10
plntxt

Jika selama pengembangan Anda menjalankan perintah SQL yang menyertakan INSERT atau UPDATE pada tabel database yang ada, Anda menjalankan risiko sejauh tabel-tabel database tersebut sangat penting.

Beberapa tempat menyinkronkan data produksi ke dalam basis data pengembangan pada interval tertentu, katakanlah, seminggu sekali atau atas permintaan pengembang sehingga Anda memiliki data baru untuk dikembangkan.

Tetapi jika data produksi Anda tidak berisiko dari apa yang Anda lakukan, misalnya, jika Anda hanya mengembangkan tampilan beberapa data, biasanya itu bukan masalah besar. Sekarang, jika Anda menjalankan laporan yang melakukan pemindaian tabel, maka Anda memiliki potensi untuk mengunci tabel, maka pengguna Anda yang ada akan terpengaruh.

Saya akan tunduk pada Administrator Database saya dalam kasus-kasus seperti ini, jika tidak ada DBA "resmi", saya akan melakukan kesalahan. Cukup sederhana untuk membuat database pengembangan, bahkan untuk saya sendiri. Dalam sebuah tim itu sangat penting. Jika itu gagal, jika Anda bersikeras untuk hanya memiliki satu basis data, Anda bisa mengawali tabel basis data pengembangan Anda dengan DEV_ dan merasa sedikit lebih baik. Ya, itu memerlukan beberapa perubahan kode, tetapi dalam pengembangan menambahkan beberapa variabel selama pengembangan $debug = true, dll, biasanya sepadan dengan usaha.

Banyak cara untuk mendekati ini. Ini sangat tergantung pada situasi Anda.

17
artlung

Anda TIDAK ingin mengembangkan terhadap data produksi di server produksi Anda. Ada beberapa alasan besar.

  1. Pengembangan memperlambat kotak produksi Anda dan menciptakan kerentanan. Apa yang terjadi jika Anda membiarkan komputer tidak terkunci dan berjalan pergi?
  2. Jika Anda membuat kesalahan, orang yang mengunjungi situs Anda dapat melihatnya.
  3. Jika Anda melakukan segala jenis pembaruan data di dalam suatu Transaksi di dalam basis data Anda dan Anda tidak langsung melakukannya atau transaksi membutuhkan waktu beberapa saat, Anda akan mengunci semua tabel yang terlibat dan Anda dapat menyebabkan batas waktu terjadi. .
  4. Beberapa sistem basis data, khususnya SQL Server akan melakukan penguncian tabel pada waktu pada pernyataan SELECT saja! Yang berarti Anda dapat secara tidak sengaja memberi waktu tunggu orang lain atau halaman kesalahan di situs Anda.

Saya tidak akan pernah melakukan pengembangan pada live box jika memungkinkan. Taruhan terbaik Anda adalah membuat cadangan dari Database dan halaman dan bekerja dengan salinan dan kemudian Dorong pembaruan Anda. Salah satu alat yang telah membantu saya satu ton adalah SyncToy milik Msft.

11
Ben Hoffman

Nah, Anda benar-benar dapat mengacaukan data. Bayangkan meninggalkan klausa di mana. Bahkan jika Anda memiliki cadangan per jam, itu akan sulit untuk diperbaiki.

7
Echo

Jika Anda memiliki data produksi, masuk akal untuk menggunakannya untuk pengujian, tetapi gunakan database pengujian terpisah dengan salinan data itu. Kalau tidak, banyak hal akan bekerja untuk beberapa catatan pengujian "blabla" Anda tetapi tidak untuk skenario nyata.

Dan untuk mengembangkan data produksi langsung - ingat hukum Murphy "Apa pun yang bisa salah akan salah.", Dan sangat mudah untuk membuat kesalahan kecil dengan konsekuensi buruk yang besar.

3
devmake

Jika Anda tidak mengemudi tanpa sabuk pengaman, jangan kembangkan data produksi. Hanya masalah keamanan.

3
MrChrister