Aunque hay algún módulo como este o servicios como Prestashopmanager, para importar datos y migrar una tienda Prestashop versión 1.6 a la nueva versión 1.7, si no tenemos presupuesto o nuestra tienda es muy grande (el módulo se quedará "colgado" en el proceso de traspaso), tendremos que plantearnos una actualización manual.
Esta actualización pasa por importar los datos de la base de datos actual de la 1.6 a la nuevas base de datos de la 1.7, que independientemente de que use nuevas tablas, las habituales relacionadas con productos, pedidos y clientes, al igual que en cambios de versiones anteriores siempre tienen algún cambio respecto a la otra versión (cambio de nombre de campo, sus propiedades y la inclusión de nuevos campos).
Esta propuesta de actualización manual a Prestashop 1.7 no considera los cambios en archivos y directorios, código fuente y por supuesto plantillas y módulos, estos últimos en su mayoría no serán compatibles con la nueva versión e implica una revisión o actualización de cada elemento, al igual que en la propuesta de Prestashop para la de actualización, sólo se tratan los datos:
"the template system has been rewritten, so your theme will either have to be changed or entirely rewritten. Additionally, your modules will need to be carefully examined and likely adapted, at least in terms of design"
"Take note that this module will only deal with your store’s data. The theme and modules will be those used by default, and your theme from version 1.5/1.6 will be deactivated, as will all of your third-party modules"
Fuente:https://www.prestashop.com/blog/en/prestashop-1-7-answers-questions/)
El objetivo de este artículo se centra en traspasar los datos del catálogo, clientes y pedidos a una nueva instalación de Prestashop 1.7 (una vez tengamos estos datos importados -lo más importante- ya tendremos tiempo de valorar las implicaciones de cambiar o actualizar la anterior plantilla, módulos que usábamos, etc.).
Los pasos para esta actualización o migración de DATOS a Prestashop 1.7 serían:
2) Hacer copia de las tablas actuales de PS 1.6 relacionadas con PRODUCTOS, CLIENTES y PEDIDOS (ej: ps_product_17)
3) Añadir modificaciones a esas tablas para que tengan la misma estructura que PS 1.7 (detalle modificaciones abajo)
Opción 1:
4) Exportar en sql los datos de esas tablas originalmente de 1.6 ahora modificadas para la 1.7 con los datos
5) Insertar datos anteriores en tablas de PS 1.7
Opción 2 (sólo si estamos trabajando en la misma bbdd):
4) Renombrar tablas originales de PS 1.7 (ej: ps_product_ORIGINAL)
5) Renombrar tablas modificadas de la 1.6 a las tablas originales de PS 1.7 (ej: ps_product_17 a ps_product)
6) Comprobar funcionamiento tienda y acceso a los datos
7) Copiar carpeta imágenes de productos "img/p" de instalación PS 1.6. a directorio instalación PS 1.7
Los archivos SQL de instalación de las respectivas versiones que he tomado como referencia para comparar las versiones de las tablas puedes descargarlos en: https://goo.gl/bthjNJ
Por cierto, ¿te he dicho ya que mi libro sigue de los más vendidos en Amazon?
Modificaciones a realizar en las tablas que se usarán para los datos en PS 1.7
PRODUCTOS
TABLA "_product"
Nuevo campo isbn (despues de ean13):
ALTER TABLE `_product` ADD `isbn` varchar(13) DEFAULT NULL AFTER ean13Nuevo campo show_condition (despues de available_date):
ALTER TABLE `_product` ADD `show_condition` tinyint(1) NOT NULL DEFAULT '0' AFTER available_dateNuevo campo state (final de tabla):
ALTER TABLE `_product` ADD `state` int(11) unsigned NOT NULL DEFAULT '1'Campo renombrado id_product_redirected (ahora es `id_type_redirected`):
ALTER TABLE `_product` CHANGE `id_product_redirected` `id_type_redirected` int(10);
TABLA "_product_shop"
Nuevo campo (despues de available_date):
`show_condition` tinyint(1) NOT NULL DEFAULT '0',
Campo renombrado:
"id_product_redirected" ahora es `id_type_redirected`
TABLA "_product_attribute"
Nuevo campo (despues de ean13):
`isbn` varchar(13) DEFAULT NULL,
TABLA "_product_attribute_shop"
Nuevo campo al inicio:
`id_product` int(10) unsigned NOT NULL,
Nuevas claves únicas:
UNIQUE KEY `id_product` (`id_product`, `id_shop`, `default_on`)
TABLA "_product_download"
UNIQUE KEY `id_product` (`id_product`)
TABLA "_product_tag"
Nuevo campo (al final de la tabla):
`id_lang` int(10) unsigned NOT NULL,
Nueva clave:
KEY `id_lang` (`id_lang`,`id_tag`)
TABLA "_specific_price"
KEY `id_product_attribute` (`id_product_attribute`),
KEY `id_shop` (`id_shop`),
KEY `id_customer`(`id_customer`),
KEY `from` (`from`),
KEY `to` (`to`),
UNIQUE KEY `id_product_2` (`id_product`,`id_product_attribute`,`id_customer`,`id_cart`,`from`,`to`,`id_shop`,`id_shop_group`,`id_currency`,`id_country`,`id_group`,`from_quantity`,`id_specific_price_rule`)
TABLA "_image_shop"
Nuevo campo (al inicio de la tabla):
`id_product` int(10) unsigned NOT NULL,
Claves:
PRIMARY KEY (`id_image`, `id_shop`),
UNIQUE KEY `id_product` (`id_product`, `id_shop`, `cover`),
KEY `id_shop` (`id_shop`)
TABLA "_category"
Claves:
KEY `category_parent` (`id_parent`),
KEY `nleftrightactive` (`nleft`, `nright`, `active`),
KEY `level_depth`(`level_depth`),
KEY `nright` (`nright`),
KEY `activenleft` (`active`,`nleft`),
KEY `activenright`(`active`,`nright`)
CLIENTES
TABLA "_customer"
Cambio longitud campo de 32 a 60:
`passwd` varchar(60) NOT NULL,
Nuevos campos (al final de la tabla):
`reset_password_token` varchar(40) DEFAULT NULL,
`reset_password_validity` datetime DEFAULT NULL,
PEDIDOS
TABLA "_orders"
Nuevo campo (despues de round_mode):
`round_type` tinyint(1) NOT NULL DEFAULT '1',
TABLA "_order_invoice"
Nuevo campo (despues de total_wrapping_tax_inc):
`shop_address` text DEFAULT NULL,
Cambio campos decimales de (17,2) a (20,6)
TABLA "_order_detail"
Nuevo campo (despues de product_attribute_id):
`id_customization` int(10) unsigned DEFAULT 0,
Nuevo campo (despues de ean13):
`product_isbn` varchar(13) DEFAULT NULL,
Nuevo campo (al final de la tabla):
`original_wholesale_price` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000',