Saat ini saya sedang melakukan banyak tes di Magento sehingga saya bisa membiasakan diri dengannya. Sayangnya database sangat berantakan dengan tes saya. Saya ingin membersihkan basis data sehingga saya bisa mulai dari awal lagi Ini berarti melakukan hal berikut:
- Membersihkan semua produk
- Menghapus semua atribut
- Menghapus semua set atribut
- Menghapus semua kategori
- Menghapus semua pesanan, pengiriman, transaksi dll.
Saya telah menemukan posting di forum Magento untuk membersihkan produk, yang merupakan SQL berikut:
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE `catalog_product_bundle_option`;
TRUNCATE TABLE `catalog_product_bundle_option_value`;
TRUNCATE TABLE `catalog_product_bundle_selection`;
TRUNCATE TABLE `catalog_product_entity_datetime`;
TRUNCATE TABLE `catalog_product_entity_decimal`;
TRUNCATE TABLE `catalog_product_entity_gallery`;
TRUNCATE TABLE `catalog_product_entity_int`;
TRUNCATE TABLE `catalog_product_entity_media_gallery`;
TRUNCATE TABLE `catalog_product_entity_media_gallery_value`;
TRUNCATE TABLE `catalog_product_entity_text`;
TRUNCATE TABLE `catalog_product_entity_tier_price`;
TRUNCATE TABLE `catalog_product_entity_varchar`;
TRUNCATE TABLE `catalog_product_flat_1`;
TRUNCATE TABLE `catalog_product_link`;
TRUNCATE TABLE `catalog_product_link_attribute`;
TRUNCATE TABLE `catalog_product_link_attribute_decimal`;
TRUNCATE TABLE `catalog_product_link_attribute_int`;
TRUNCATE TABLE `catalog_product_link_attribute_varchar`;
TRUNCATE TABLE `catalog_product_link_type`;
TRUNCATE TABLE `catalog_product_option`;
TRUNCATE TABLE `catalog_product_option_price`;
TRUNCATE TABLE `catalog_product_option_title`;
TRUNCATE TABLE `catalog_product_option_type_price`;
TRUNCATE TABLE `catalog_product_option_type_title`;
TRUNCATE TABLE `catalog_product_option_type_value`;
TRUNCATE TABLE `catalog_product_super_attribute_label`;
TRUNCATE TABLE `catalog_product_super_attribute_pricing`;
TRUNCATE TABLE `catalog_product_super_attribute`;
TRUNCATE TABLE `catalog_product_super_link`;
TRUNCATE TABLE `catalog_product_enabled_index`;
TRUNCATE TABLE `catalog_product_website`;
TRUNCATE TABLE `catalog_product_relation`;
TRUNCATE TABLE `catalog_category_product_index`;
TRUNCATE TABLE `catalog_category_product`;
TRUNCATE TABLE `cataloginventory_stock_item`;
TRUNCATE TABLE `cataloginventory_stock_status`;
TRUNCATE TABLE `cataloginventory_stock_status_idx`;
TRUNCATE TABLE `cataloginventory_stock`;
TRUNCATE TABLE `core_url_rewrite`;
INSERT INTO `catalog_product_link_type`(`link_type_id`,`code`) VALUES (1,'relation'),(2,'bundle'),(3,'super'),(4,'up_sell'),(5,'cross_sell');
INSERT INTO `catalog_product_link_attribute`(`product_link_attribute_id`,`link_type_id`,`product_link_attribute_code`,`data_type`) VALUES (1,2,'qty','decimal'),(2,1,'position','int'),(3,4,'position','int'),(4,5,'position','int'),(6,1,'qty','decimal'),(7,3,'position','int'),(8,3,'qty','decimal');
INSERT INTO `cataloginventory_stock`(`stock_id`,`stock_name`) VALUES (1,'Default');
TRUNCATE TABLE `catalog_product_entity`;
SET FOREIGN_KEY_CHECKS = 1;
Saya akan membutuhkan yang sama untuk yang lain yang disebutkan. Sayangnya saya tidak tahu tabel mana yang menyimpan semua data yang berbeda, kalau tidak saya akan melakukannya sendiri. Saya juga tidak ingin menghapus tabel yang salah secara tidak sengaja. Saya harap Anda dapat membantu saya!
magento-1.7
database
Sangat beku
sumber
sumber
core_config_data
) dan mulai lagi dari awal?Jawaban:
Untuk Pesanan
Anda dapat menggunakan fungsi ini untuk menghapus set atribut.
Dan cari tabel ini untuk menghapus atribut
Periksa
eav_attribute
kolomis_user_defined
sehingga Anda bisa mendapatkan ide.sumber
Anda bisa mengosongkan seluruh database dan Magento akan menjalankan semua skrip instal / upgrade / data lagi pada pageload berikutnya. Magento ini akan "mengatur ulang pabrik" dan akan menghancurkan semua perubahan Anda.
Kebiasaan yang baik adalah membuat modul yang berisi semua pengaturan dasar toko Anda di dalam skrip install / upgrade / data. Ini memiliki keuntungan bahwa pengaturan ini disimpan dalam kontrol versi dan semua situs web berbeda yang Anda miliki untuk toko (produksi, pementasan, pengujian penerimaan pengguna, dll.) Akan selalu diperbarui.
Jika ada banyak orang yang bekerja di situs, kami bahkan membuat modul baru untuk setiap grup pengaturan sehingga versi tidak bertentangan ketika kami menggabungkan kode.
Dalam kasus Anda, saya akan membuat modul yang mengatur semua pengaturan yang ingin Anda pertahankan. Jika Anda menghapus database, Magento akan sepenuhnya bersih DAN termasuk pengaturan yang Anda inginkan!
Anda dapat melihat skrip instal / perbarui inti Magento untuk melihat bagaimana Magento menginstal data / pengaturan awal.
sumber
Jika Anda tidak membutuhkan apa pun - kosongkan seluruh DB dan instal ulang bersih.
Menjalankan truncat massal selalu membuat saya khawatir dengan potensi efek jangka panjang dari hubungan kunci yang terputus.
Pembersihan DB cepat
Menggunakan skrip ini ,
Itu akan benar-benar kosong dan menghapus setiap tabel dalam database. Jangan menggunakannya jika Anda perlu mempertahankan apa pun .
sumber
Sebelum meluncurkan situs web eCommerce Magento baru, pada tahap pengembangan, Anda harus selalu melakukan pengujian dan ini akan membutuhkan membuat pesanan pengujian dan pelanggan untuk memastikan bahwa semua proses berfungsi dengan benar dan seperti yang Anda harapkan.
Ini sering kali berakhir dengan meninggalkan banyak data uji dalam sistem yang tidak Anda inginkan begitu situs diluncurkan. Magento terkenal karena memasukkan data dalam beberapa tabel basis data sehingga kami telah menyediakan skrip SQL di bawah ini yang akan menghapus semua data ini dari basis data Magento Anda (dan mengatur ulang penghitung kenaikan untuk penjualan, faktur, pelanggan, dan pengiriman). Ini telah diuji dan dikonfirmasi berfungsi pada versi Magento dari 1.4.0.1 hingga 1.9.0.1.
sumber
Jika Anda bekerja dengan EE, Anda juga harus memotong tabel penulisan ulang url perusahaan, karena mereka tidak memiliki kendala kunci asing dan pada mengimpor data (tetapi tidak secara eksplisit mengatur url) url dari produk lama akan terhubung ke impor baru Anda produk.
sumber
Satu hal yang belum pernah disebutkan adalah membersihkan meja pajak. Jika tidak, Anda akan mendapatkan entri Id pesanan berulang di tabel pajak (saat Anda melakukan pemesanan lagi di ID Order awal, Anda akan memiliki Id yang sama muncul beberapa kali). Beberapa item akan ditampilkan pada faktur / memo sebagai beberapa item baris, baik di sisi admin dan klien. Setelah pengujian / kliring menggunakan metode dalam posting di atas (dan tidak membersihkan tabel pajak), setelah beberapa saat saya memiliki 10 item pajak yang berbeda muncul untuk satu pesanan.
Catatan - pajak sudah / masih dibebankan dengan benar, tetapi pada memo dan faktur itu menunjukkan semua item. Sangat membingungkan jika klien melihat itu.
Jadi untuk menambahkan di atas:
Dan untuk ukuran yang baik:
sumber
Anda harus memiliki db terpisah untuk tes. Lihat kerangka uji magento. Semua ide untuk menghapus db setelah tes salah.
sumber
Saya menyiapkan repositori untuk mengelola skrip SQL sederhana agar dijalankan sebelum meluncurkan situs Magento baru. Sejauh ini mereka dapat membantu:
https://github.com/ccondrup/mage-reset
Bantu meningkatkannya!
sumber
ccdata_empty_testdata
| Ini mungkin saya, tetapi script yang hebat !!!Hanya 2 sen saya ...
Daripada mencari tahu apa yang harus dihapus, dan hanya menyadari apa yang saya lewatkan kemudian, saya menjalankan beberapa VM, dan saya menggunakan snapshot pada berbagai tahap, ditambah saya memiliki dua situs terpisah - satu hidup dan satu tes.
Sangat mudah untuk memiliki skrip untuk "mengembalikan" tes dari live ketika saya membutuhkannya. Juga, jika pelanggan memiliki akses ke sistem pengujian, mereka dapat bermain dengannya juga sebelum melakukan sesuatu dengan live - tidak perlu mengembalikan dari cadangan dan kehilangan pesanan dan perubahan lain dalam proses ( meskipun itu menguji strategi cadangan Anda .. . )
Saya pikir ini proses yang jauh lebih baik dan "lebih aman" daripada menjalankan skrip khusus (usang?) Untuk menghapus (terlalu banyak?) Hal-hal ...
(Juga, jangan ragu untuk mengundurkan diri karena saya belum bisa berkomentar!)
sumber
MYSQL Drop dan buat DB kemudian tambahkan hak pengguna dan admin magento pengguna.
Tambahkan pengguna admin Magento:
sumber
Berdasarkan jawaban dari Mufaddal, saya menyiapkan permintaan untuk menghapus pesanan dan data terkait di Magento 2.2
sumber
Cukup dapatkan phpMyadmin database Anda dan kemudian buka tabel
sales_flat_order
dan kemudian cukup hapus data dari tabel ini dan pesanan tes Anda akan dihapus. Tidak perlu kode, perintah, atau ekstensi apa pun. keren.sumber
Ini adalah jawaban yang terlambat, tetapi ini bisa membantu.
Saya sedang mengembangkan situs web e-commerce berdasarkan Magento 1.7 dan saya cenderung ke TDD.
Saya pikir kita tidak perlu repot-repot membersihkan database secara manual selagi kita bisa menggunakan Magento
beginTransaction
danrollback
metode.Berikut ini sebuah contoh
Jawaban ini terinspirasi oleh jawaban Magento ini , kunjungi untuk bacaan lebih lanjut.
sumber