Actualmente estoy haciendo muchas pruebas en Magento para poder familiarizarme con él. Lamentablemente, la base de datos está extremadamente abarrotada con mis pruebas. Deseo limpiar la base de datos para poder comenzar de nuevo. Esto significa hacer lo siguiente:
- Borrar todos los productos
- Borrar todos los atributos
- Borrar todos los conjuntos de atributos
- Borrar todas las categorías
- Borrar todos los pedidos, envíos, transacciones, etc.
He encontrado una publicación en los foros de Magento para borrar los productos, que es el siguiente SQL:
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;
Necesitaría lo mismo para los otros mencionados. Desafortunadamente, no sé qué tablas contienen todos los datos diferentes, de lo contrario lo habría hecho yo solo. Tampoco quiero borrar las tablas equivocadas por accidente. ¡Espero que puedas ayudarme!
magento-1.7
database
Congelados
fuente
fuente
core_config_data
) y comenzó de nuevo?Respuestas:
Para pedidos
Puede usar esta función para eliminar conjuntos de atributos.
Y busque esta tabla para eliminar el atributo
Verifique la
eav_attribute
columnais_user_defined
para que pueda tener alguna idea.fuente
Puede vaciar toda la base de datos y Magento ejecutará todos sus scripts de instalación / actualización / datos nuevamente en la siguiente carga de página. Esto "restablecerá los valores de fábrica" de Magento y destruirá todos sus cambios.
Un buen hábito es crear un módulo que contenga todas las configuraciones básicas de la tienda dentro de los scripts de instalación / actualización / datos. Esto tiene la ventaja de que estas configuraciones se almacenan en el control de versiones y todos los diferentes sitios web que tiene para la tienda (producción, puesta en escena, pruebas de aceptación del usuario, etc.) se mantendrán actualizados.
Si hay varias personas trabajando en un sitio, incluso creamos un nuevo módulo para cada grupo de configuración para que las versiones no entren en conflicto cuando fusionamos el código.
En su caso, crearía un módulo que configura todas las configuraciones que desea mantener. Si borra la base de datos, ¡Magento estará completamente limpio e incluirá la configuración que desee!
Puede echar un vistazo a los scripts de instalación / actualización de Magento central para ver cómo Magento instala sus datos / configuraciones iniciales.
fuente
Si no necesita nada, simplemente vacíe todo el DB y realice una reinstalación limpia.
Ejecutar truncados en masa siempre me preocupa con los posibles efectos duraderos de relaciones clave rotas.
Purga rápida de DB
Usando este script ,
Eso vaciará por completo y eliminará todas las tablas de la base de datos. No lo use si necesita retener algo .
fuente
Antes de lanzar un nuevo sitio web de comercio electrónico de Magento, en la fase de desarrollo, siempre tendrá que realizar pruebas y esto requerirá crear pedidos de prueba y clientes para garantizar que todos los procesos funcionen correctamente y como era de esperar.
Esto a menudo puede terminar dejando una carga de datos de prueba en el sistema que no querrá una vez que se inicie el sitio. Magento es conocido por insertar datos en varias tablas de bases de datos, por lo que proporcionamos el script SQL a continuación que eliminará limpiamente todos estos datos de su base de datos Magento (y restablecerá los contadores de incremento para ventas, facturas, clientes y envíos). Esto ha sido probado y confirmado trabajando en las versiones de Magento de 1.4.0.1 a 1.9.0.1.
fuente
Si está trabajando con EE, también debe truncar las tablas de reescritura de URL de la empresa, ya que no tienen restricciones de clave externa y al importar datos (pero no establecer explícitamente las URL), las URL de los productos antiguos se conectarán a su nuevo producto importado. productos
fuente
Una cosa que nadie ha mencionado es limpiar las tablas de impuestos. Si no lo hace, obtendrá entradas de Id. De pedido repetidas en la tabla de impuestos (cuando realice pedidos nuevamente en el Id. De pedido inicial, aparecerá el mismo Id varias veces). Los múltiples artículos aparecerán en las facturas / notas como múltiples artículos de línea, tanto en el lado del administrador como del cliente. Después de probar / borrar usando los métodos en las publicaciones anteriores (y no borrar las tablas de impuestos), después de un tiempo tuve 10 líneas de impuestos diferentes que aparecían para un solo pedido.
Nota: el impuesto se cobró / todavía se carga correctamente, pero en las notas y facturas se mostraban todos los artículos. Muy confuso si un cliente fuera a ver eso.
Entonces, para agregar a lo anterior:
Y por si acaso:
fuente
Debe tener una base de datos separada para las pruebas. Ver marco de prueba de magento. Todas las ideas para borrar db después de las pruebas son incorrectas.
fuente
Configuré un repositorio para mantener scripts SQL simples para ejecutar antes de lanzar un nuevo sitio de Magento. Hasta ahora pueden ayudar:
https://github.com/ccondrup/mage-reset ¡
Ayuda a mejorarlos!
fuente
ccdata_empty_testdata
|| Este puede ser yo, pero por lo demás excelente guión !!!Solo mis 2 centavos ...
En lugar de averiguar qué eliminar y solo darme cuenta de lo que me he perdido más tarde, ejecuto algunas máquinas virtuales y uso instantáneas en varias etapas, además de tener dos sitios separados: uno en vivo y uno de prueba.
Es fácil tener un script para "restaurar" la prueba en vivo cuando la necesito. Además, si el cliente tiene acceso al sistema de prueba, también puede jugar con él antes de hacer cualquier cosa con live: no es necesario restaurar desde una copia de seguridad y perder órdenes y otros cambios en el proceso ( aunque prueba su estrategia de copia de seguridad ... . )
Creo que este es un proceso mucho mejor y "más seguro" que ejecutar un script personalizado (¿anticuado?) Para eliminar (¿demasiado?) Cosas ...
(¡Además, siéntase libre de rechazar esto ya que aún no puedo comentar!)
fuente
MYSQL Descarte y cree la base de datos, luego agregue los privilegios de usuario y el usuario administrador de magento.
Agregar usuario administrador de Magento:
fuente
Basado en una respuesta de Mufaddal, preparé una consulta para borrar el orden y los datos relacionados en Magento 2.2
fuente
Simplemente obtenga su base de datos phpMyadmin y luego abra la tabla
sales_flat_order
y luego simplemente elimine los datos de esta tabla y sus órdenes de prueba se borrarán. No necesita ningún código, comando o extensión. bueno.fuente
Esta es una respuesta tardía, pero podría ser útil.
Estoy desarrollando un sitio web de comercio electrónico basado en Magento 1.7 y tiendo a TDD.
Creo que no deberíamos molestarnos limpiando la base de datos manualmente mientras podemos usar Magento
beginTransaction
y susrollback
métodos.Aquí hay un ejemplo
Esta respuesta está inspirada en esta respuesta de Magento , visítela para leer más.
fuente