Semakin dekat suatu tes dengan produksi, semakin baik ia dapat meniru perilaku produksi. Saya ingin menyalin cadangan basis data dari produksi ke lingkungan pengujian kami, tetapi apa yang harus saya ubah agar pengujian berfungsi, dan agar tidak mengganggu produksi atau secara tidak sengaja mengirim email kepada pelanggan nyata (selain mengatur web/%secure/base_urldengan url tes)?
Cara lain untuk memikirkan pertanyaan ini adalah dengan mempertimbangkan bagaimana menghasilkan sesuatu seperti Data Sampel Magento dari data produksi saya sendiri.
Juga core_url_rewritedapat diimpor hanya dengan struktur dan menjalankan URL Katalog Menulis ulang indeks setelah impor, kecuali Anda membutuhkan semua catatan tersebut (untuk berbagai tes).
Anda juga dapat membersihkan gerobak yang ditinggalkan (petunjuk:) sales_flat_quote, Anda juga dapat menghapus pesanan jika Anda tidak membutuhkannya dan hanya menyimpan dalam jumlah terbatas
2) Pengaturan Konfigurasi
web / (tidak aman | aman) / base_url
hubungi alamat email
nonaktifkan email ( system/smtp/disable) sehingga Anda tidak mengirim email karena kesalahan
3) Anonimkan informasi pelanggan
Anda dapat menggunakan modul Anonygento untuk Magento
tulis skrip Anda sendiri untuk mengaburkan informasi pelanggan / pesanan penjualan / dll
4) Pengaturan Modul
Anda dapat mengaktifkan mode kotak pasir untuk modul pembayaran / pengiriman dan membuat pengaturan yang tepat
periksa modul yang digunakan untuk berbagai integrasi (menonaktifkan atau mengaturnya ke mode kotak pasir)
Untuk dev, mengabaikan konten untuk beberapa tabel tidak masalah. Untuk QA / Staging, Anda ingin semua tabel yang diisi mencerminkan produksi sedekat mungkin.
beeplogic
@FlorinelChris: Saya pikir pertanyaannya adalah tentang menyederhanakan migrasi db dan tidak membuatnya menjadi rumit :) Bu dengan cara apa pun, jawaban yang bagus!
user487772
@Tim bagian yang sulit adalah untuk meletakkan semua di atas dalam sebuah skrip ... menjalankannya setelah itu adalah solusi sederhana.
FlorinelChis
2
Kami menulis skrip untuk menangani dump DB untuk percabangan. Baca artikel ini .
Prinsip dasarnya adalah bahwa ia membaca local.xmluntuk mengambil kredensial DB, kemudian membuang data atas dasar itu. Membagi dump menjadi dua bagian, struktur saja dan kemudian data. Tetapi kuncinya adalah mempercepat proses pembuangan konvensional dengan melewatkan data yang tidak penting , dan yang paling penting mencegah setiap kunci tabel selama dump yang akan memblokir / menggantung situs langsung Anda.
Ketika Anda mendapatkan dump MySQL, Anda dapat mengubah URL dengan sangat mudah hanya dengan menggunakan sed
sed -i 's/www.mydomain.com/staging.mydomain.com/g'./var/db.sql
Kemudian jalankan impor mysql ke DB baru Anda.
Jadi tanpa skrip, versi yang sangat mendasar akan terlihat seperti ini.
mysqldump -hHostname -uUsername LiveDbname-p > db.sql
sed -i 's/www.mydomain.com/staging.mydomain.com/g' db.sql
mysql -hHostname -uUsername DevDbname-p < db.sql
Tidak ada alasan sama sekali untuk menghapus file local.xml, atau menjalankan kembali installer jika Anda mengubah URL dalam DB dengan cara ini.
Seluruh proses percabangan tercakup dengan baik dalam Panduan GIT Magento kami . Ini adalah proses yang baik untuk membuat cabang pengembangan, tetapi tidak mengecilkan DB langsung dengan margin yang signifikan. Jadi tes tidak akan sepenuhnya sama dengan di situs langsung.
Jadi melakukan dump DB vanilla, dan ganti, impor DB sudah cukup untuk situs pementasan. Dan akan mencerminkan / mencocokkan situs langsung sedekat mungkin.
Dalam hal mencegah komunikasi dengan pelanggan - kami tidak pernah menganggapnya sebagai keharusan, karena kami selalu membuat akun dengan sengaja untuk pengujian, tidak pernah menggunakan pesanan pelanggan nyata untuk pengujian.
Salah satu opsi untuk masalah email adalah mengonfigurasi situs pengembangan Anda untuk mengalihkan SEMUA email kepada Anda. Menambahkan sedikit pikiran.
Bagaimana Anda melakukannya tergantung pada lingkungan Anda - bagi kami menambahkan ini ke vhost melakukan pekerjaan:
Tetapi seandainya saya memberi tahu sistem pengujian saya, saya mengirim pesanan - bukankah ia akan mengirim email ke pelanggan sebenarnya tentang hal itu?
kojiro
Satu-satunya item lain yang perlu diubah adalah informasi pendaftaran modul pihak ketiga jika Anda menjalankan kunci yang per domain, bukan hanya kunci aktivasi. Saya juga menyertakan alamat email sehingga transaksi pesanan pengujian masuk ke akun pengujian alih-alih meja pemesanan. Ketika Anda pertama kali memulai, aman dan tidak aman baseUrls adalah semua yang diperlukan. Jika Anda berencana sering melakukan ini, kemas semuanya ke dalam file sql dan impor setelah magento db Anda impor.
Fiasco Labs
@kojiro - Tidak jika Anda menyiapkan beberapa akun pengujian. Bicaralah dengan administrator email perusahaan Anda, minta mereka membuat alias email pasangan.
Fiasco Labs
@ Kegagalan Aku bingung. Dalam skenario ini saya baru saja mengimpor database Magento produksi dengan pelanggan nyata di dalamnya. Jika saya memproses pesanan nyata dengan pelanggan nyata, apa gunanya alias email?
kojiro
@ Kojiro Anda benar, setelah mengimpor kumpulan data dari produksi maka Anda perlu menggosok / memperbarui informasi pelanggan / sensitif. Ini bukan jawaban yang baik karena tidak mengatasi situasi dengan benar.
beeplogic
0
Coba ini, ini akan mengacak email pengguna untuk membantu masalah Anda dalam mengirimkan email langsung kepada pelanggan langsung dari lingkungan pengujian
UPDATE customer_entity SET email = REPLACE(email,'@','-test@abcxyz123-')
Kami menulis skrip untuk menangani dump DB untuk percabangan. Baca artikel ini .
Prinsip dasarnya adalah bahwa ia membaca
local.xml
untuk mengambil kredensial DB, kemudian membuang data atas dasar itu. Membagi dump menjadi dua bagian, struktur saja dan kemudian data. Tetapi kuncinya adalah mempercepat proses pembuangan konvensional dengan melewatkan data yang tidak penting , dan yang paling penting mencegah setiap kunci tabel selama dump yang akan memblokir / menggantung situs langsung Anda.Ketika Anda mendapatkan dump MySQL, Anda dapat mengubah URL dengan sangat mudah hanya dengan menggunakan
sed
Kemudian jalankan impor mysql ke DB baru Anda.
Jadi tanpa skrip, versi yang sangat mendasar akan terlihat seperti ini.
Tidak ada alasan sama sekali untuk menghapus file local.xml, atau menjalankan kembali installer jika Anda mengubah URL dalam DB dengan cara ini.
Seluruh proses percabangan tercakup dengan baik dalam Panduan GIT Magento kami . Ini adalah proses yang baik untuk membuat cabang pengembangan, tetapi tidak mengecilkan DB langsung dengan margin yang signifikan. Jadi tes tidak akan sepenuhnya sama dengan di situs langsung.
Jadi melakukan dump DB vanilla, dan ganti, impor DB sudah cukup untuk situs pementasan. Dan akan mencerminkan / mencocokkan situs langsung sedekat mungkin.
Dalam hal mencegah komunikasi dengan pelanggan - kami tidak pernah menganggapnya sebagai keharusan, karena kami selalu membuat akun dengan sengaja untuk pengujian, tidak pernah menggunakan pesanan pelanggan nyata untuk pengujian.
sumber
Salah satu opsi untuk masalah email adalah mengonfigurasi situs pengembangan Anda untuk mengalihkan SEMUA email kepada Anda. Menambahkan sedikit pikiran.
Bagaimana Anda melakukannya tergantung pada lingkungan Anda - bagi kami menambahkan ini ke vhost melakukan pekerjaan:
sumber
Tidak ada. Mengubah URL yang aman dan tidak aman sudah cukup.
Anda juga mungkin ingin menghilangkan
log_*
data tabel hanya untuk membuat dump Anda lebih ringan.sumber
Coba ini, ini akan mengacak email pengguna untuk membantu masalah Anda dalam mengirimkan email langsung kepada pelanggan langsung dari lingkungan pengujian
sumber