[ayuda magento] Errores al importar base de datos magento

Magento es un software en auge entre los interesados en montar tiendas virtuales. Parece que Oscommerce ya tiene un sustituto fuerte, bien diseñado, estructurado, mvc, modulable y con pasarelas de pago maduras.
Uno de los problemas es que requiere php 5.2. Como muchos sabrán php 4 dejó de ser soportada hace años, pero aún existen distribuciones que oficialmente distribuyen la php 5.0 o 5.1 en su rama estable. Este es el caso de Centos 5 / RHEL 5 que necesita de repositorios no oficiales para subir a version php 5.2.

Bien, puestos en situación, el caso  se nos ha presentado un caso extraño de consumo de memoria desorbitado y totalmente desconcertante. Después de realizar todo tipo de pruebas para localizar este agujero negro de ram, hemos decidido cambiar a otro servidor basado en Debian que sí distribuyen php 5.2 en su rama ‘stable‘.

La migración ha sido un poco más problemática de lo habitual ya que Magento está muy preparado para el control de errores y no suelta los errores como habitualmente en error_log o en consola. Por ello hay que activar las siguientes lineas en index.php:

  • Mage::setIsDeveloperMode(true);
  • ini_set(‘display_errors’, 1);

De esta forma, sí nos vuelca los errores pon pantalla pero usando un manejador del propio Magento.

Otra piedra en el camino para el cambio del servidor ha sido este error con los índices de mysql

ERROR 1064 (42000) at line 25: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8' at line 10

Al parecer hay algún pequeño cambio de como definir el indice basado en BTREE ( acelera las búsquedas ) y no son totalmente compatibles la versión de Centos ( mysql 5.1 ) y la Debian ( mysql 5.0) . Si existe algún bug abierto en Debian, lo desconozco, aunque lo buscaré 😀

La linea original del volcado es PRIMARY KEY (`actualidad_id`) USING BTREE y debe ser sustituida por PRIMARY KEY  USING BTREE (`actualidad_id`) para los más cómodos :

sed -i 's/PRIMARY KEY (`actualidad_id`) USING BTREE/PRIMARY KEY  USING BTREE (`actualidad_id`)/' volcado.sql

Igualmente para este otro error:

ERROR 1064 (42000) at line 390: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE,
 KEY `FK_ATTRIBUTE_VARCHAR_ENTITY` (`entity_id`),
 KEY `FK_CATALO' at line 9

el cambio sería :

mysql 5.1 UNIQUE KEY `IDX_BASE` (`entity_type_id`,`entity_id`,`attribute_id`,`store_id`) USING BTREE,
mysql 5.0 UNIQUE KEY `IDX_BASE` USING BTREE (`entity_type_id`,`entity_id`,`attribute_id`,`store_id`),

sed -i 's/UNIQUE KEY `IDX_BASE` (`entity_type_id`,`entity_id`,`attribute_id`,`store_id`) USING BTREE,/UNIQUE KEY `IDX_BASE` USING BTREE (`entity_type_id`,`entity_id`,`attribute_id`,`store_id`),/' volcado

Más información acerca de la sintaxis de mysql en http://dev.mysql.com/doc/refman/5.0/en/create-table.html


Publicado

en

, ,

por

Etiquetas:

Comentarios

2 respuestas a «[ayuda magento] Errores al importar base de datos magento»

  1. […] Me ha solucionado baste la vida esta ayuda ayuda magento. […]

  2. Avatar de deam
    deam

    ufff rebuena experiencia….y excelente dato…ya pensaba ke tokaba kambiar el archivo de configuracion o algo…asi ya sale de una!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.