Export database tables

Migrar los productos de Magento desde la base de datos

Una de las tareas más pesadas que nos podemos encontrar cuando empezamos con un nuevo proyecto ecommerce, es tener que configurar los productos. Por lo general esta tarea la tendremos que realizar producto a producto. Pero, y si ya disponemos de otra instalación, podriamos migrar los productos a la vez.

Generalmente existén dos opciones para realizar la migración de los productos en Magento, usar los perfiles de Magento para importar y exportar un fichero .csv o hacerlo directamente a traves de la base de datos MySQL.

Exportar los productos desde MySQL

Primeramente, para que funcione la importación de las tablas en la base de datos es importante deshabilitar la revisión de las claves foráneas (foreign keys).

  • Desde de la configuración personalizada cuando exportamos en phpMyAdmin.MySQL export custom optionfat arrow downdisable foreign key
  • Escribiendo la siguiente línea, en la parte superior del código dentro de nuestros archivos .sql.
    SET FOREIGN_KEY_CHECKS = 0;

El siguiente paso es seleccionar las tablas que contienen los datos necesarios para realizar la tarea separandolas en grupos (atributos, categorias y productos).

Exportar las tablas con todos los atributos de Magento

Todo lo referente a los atributos de nuestra instalación esta contenido dentro de las tablas con la cadena «eav«, por ello vamos a tener que exportar las siguientes tablas:

catalog_eav_attribute
customer_eav_attribute
eav_attribute
eav_attribute_group
eav_attribute_label
eav_attribute_option
eav_attribute_option_value
eav_attribute_set
eav_entity
eav_entity_attribute
eav_entity_datetime
eav_entity_decimal
eav_entity_int
eav_entity_store
eav_entity_text
eav_entity_type
eav_entity_varchar
eav_form_element
eav_form_fieldset
eav_form_fieldset_label
eav_form_type
eav_form_type_entity

Estas tablas podemos tenerlas en un archivo sql independiente al cual llamare «atributos.sql«.

Exportar las tablas de categorías de Magento

Ahora es el turno de exportar todas las tablas que contengan la cadena «catalog_category«, ya que es en estas donde se encuentra toda la configuración relativa a las categorías.

catalog_category_anc_categs_index_idx
catalog_category_anc_categs_index_tmp
catalog_category_anc_products_index_idx
catalog_category_anc_products_index_tmp
catalog_category_entity
catalog_category_entity_datetime
catalog_category_entity_decimal
catalog_category_entity_int
catalog_category_entity_text
catalog_category_entity_varchar
catalog_category_flat_store_1
catalog_category_product
catalog_category_product_index
catalog_category_product_index_enbl_idx
catalog_category_product_index_enbl_tmp
catalog_category_product_index_idx
catalog_category_product_index_tmp

Igual que con las tablas de los atributos renombrare este archivo como «categorias.sql«.

Exportar tablas de los productos de Magento

Continuamos exportando las tablas con la información de los productos, posiblemente no todas las tablas del siguiente listado contenga información relevante sobre nuestros productos, pero para ahorrarnos ir una a una mirando si continene datos la mejor opción es exportarlas todas.

cataloginventory_stock
cataloginventory_stock_item
cataloginventory_stock_status
cataloginventory_stock_status_idx
cataloginventory_stock_status_tmp
catalogrule
catalogrule_affected_product
catalogrule_customer_group
catalogrule_group_website
catalogrule_product
catalogrule_product_price
catalogrule_website
catalogsearch_fulltext
catalogsearch_query
catalogsearch_result
catalog_product_bundle_option
catalog_product_bundle_option_value
catalog_product_bundle_selection
catalog_product_enabled_index
catalog_product_entity
catalog_product_entity_datetime
catalog_product_entity_decimal
catalog_product_entity_gallery
catalog_product_entity_int
catalog_product_entity_media_gallery
catalog_product_entity_media_gallery_value
catalog_product_entity_text
catalog_product_entity_tier_price
catalog_product_entity_varchar
catalog_product_link
catalog_product_link_attribute
catalog_product_link_attribute_decimal
catalog_product_link_attribute_int
catalog_product_link_attribute_varchar
catalog_product_link_type
catalog_product_option
catalog_product_option_price
catalog_product_option_title
catalog_product_option_type_price
catalog_product_option_type_title
catalog_product_option_type_value
catalog_product_super_attribute
catalog_product_super_attribute_label
catalog_product_super_attribute_pricing
catalog_product_super_link
catalog_product_website

Al último archivo lo llamare «productos.sql«.

Importar los productos en MySQL

Para completar el proceso de migración tenemos que importar los archivos atributos.sql, categorias.sql y productos.sql en base de datos para la nueva tienda Magento.

Podemos importar los archivos a través de phpMyAdmin o usando la línea de comandos / terminal.

Utilizar phpMyAdmin para importar ficheros .sql

Abrimos phpMyAdmin y abrimos la base de datos donde queremos importar los productos.

mysql import button

El inconveniente de este método es, que el tamaño del fichero que podemos importar depende de la configuración del servidor mysql y que por seguridad, no suele superar los 15Mb.

Usar línea de comandos o terminal para importar ficheros .sql

El comando que tendremos que ejecutar para importar los datos contenidos en el fichero es el siguiente:

mysql -u [usuario] -p [contraseña] nombre_bbdd < fichero.sql

Al finalizar todas las importaciones es conveniente realizar la siguiente consulta para restablecer la revisión de las claves foraneas en nuestra base de datos.

SET FOREIGN_KEY_CHECKS = 1;

Por último y no menos importante son las imagenes de los productos.

Nos dirigimos a la raiz de nuestro sitio web, donde se encuentra instalado el Magento de la tienda original que contiene las imagenes y localizar el directorio «media/catalog». Podemos comprimirlo o simplemente descargarlo tal cúal a nuestro pc o mac.

Comentarios y opiniones

Puede que tarde en responder, se paciente.

*
*