Jump to content

[SOLUCIONADO] Copiar parte de base de datos a nuevo prestashop


BorjaJA

Recommended Posts

Buenos dias,

 

Estoy cambiando mi tienda prestashop de 1.7.6.7 a 1.7.7.8 ya que estaba teniendo muchos problemas de lentitud en backoffice, etc. y el actualizarlo directamente me da fallos.

 

La mejor solución que he visto es empezarlo de cero. Ya tengo todos los productos exportados, categorias, tema, etc...

queria saber si puedo exportar pedidos, direcciones y clientes directamente desde la base de datos (copiar las tablas y pegarlas en la nueva base de datos) y cuales serian las tablas que debo copiar.

En el caso de clientes creo que ademas tengo que copiar el cookie_key para mantener la misma contraseña. solo hay que copiarla de parametres.php de la tienda inicial y pegarlo en el mismo archivo de la nueva tienda 1.7.7.8??

Muchas gracias!

Edited by BorjaJA (see edit history)
Link to comment
Share on other sites

Como poder podrias hacer lo que dices, pero para ello necesitas saber que tipo de cambio hubo de una version de prestashop a otra y las asociaciones entre tablas. En definitiva yo no te lo recomendaria.

 Ya que dices que la actualizacino te da error,  cierto dia e detectado que es por culpa de un index.php que hay en estas carpetas, simplemente borralos y trata de actualizar, a ver si tienes suerte y fuera esto.

src/PrestaShopBundle/Controller/Admin/Sell/Address/index.php

 src/PrestaShopBundle/Controller/Admin/Sell/CustomerService/index.php

src/PrestaShopBundle/Controller/Admin/Sell/index.php

src/PrestaShopBundle/Controller/index.php

PD: a lo mejor en alguna de estas rutas no existe ya el archivo que menciono.

Link to comment
Share on other sites

Hola Josraso,

Muchas gracias por tu respuesta.

Voy a intentar continuar con el procedimiento de actualizacion de la base de datos. Si veo que no lo consigo procederé con lo que comentas...

 

he visto esta página donde indican las tablas afectadas, pero hablan de prestashop 1.6 y no sé si cambia algo...


Si alguien me puede confirmar si son las mismas tablas para prestashop 1.7 se lo agradecería.

 

Gracias!

Link to comment
Share on other sites

Finalmente he creado todas las tablas de ps_order... desde el prestashop anterior...

Si es cierto que he tenido que modificar manualmente varias cosas, sobre todo del ps_order_details ya que se añadieron 3 tablas nuevas que no aparecían en el prestashop 1.7.6.7 (product_mpn, total_refunded_tax_excl y total_refunded_tax_incl)

También he tenido que cambiar IDs de provincias de todas las direcciones ya que en este nuevo prestashop me aparecían nuevas provincias que han afectado a las IDs de las provincias de España.

Un poco lío si no se sabe mucho del tema...

 

Ya solo me queda resolver un error que me salta con un módulo (mpm export). Le he lanzado la consulta al desarrollador pero si alguien sabe algo, se lo agradecería.
Warning en línea 94 en archivo /homepages/29/d823293906/htdocs/mitienda/modules/mpm_productexport/src/tools/MpmPEExtraField.php [2] "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?

Gracias por la ayuda!

Edited by BorjaJA (see edit history)
Link to comment
Share on other sites

  • BorjaJA changed the title to [SOLUCIONADO] Copiar parte de base de datos a nuevo prestashop

En resumidas cuentas ha sido necesario copiar todas las tablas de pedidos tipo "ps_order..." (para copiar los pedidos),  añadiendo 3 tablas en ps_order_details que en mi version anterior de prestashop no estaban (product_mpn, total_refunded_tax_excl y total_refunded_tax_incl).

Copiar además estas tablas (para clientes, carritos, direcciones):

  • ps_address
  • ps_cart
  • ps_cart_product
  • ps_connections
  • ps_connections_source
  • ps_customer
  • ps_customer_group
  • ps_customer_message
  • ps_customer_thread
  • ps_guest
  • ps_message

E indicar esto en el SQL de la base de datos:

UPDATE ps_address SET phone = '' WHERE phone IS NULL;
UPDATE ps_address SET phone_mobile = '' WHERE phone_mobile IS NULL;
UPDATE ps_order_detail SET id_order_invoice = '0' WHERE id_order_invoice IS NULL;
UPDATE ps_order_detail SET product_reference = '' WHERE product_reference IS NULL;
UPDATE ps_order_detail SET product_supplier_reference = '' WHERE product_supplier_reference IS NULL;
UPDATE ps_order_detail SET product_isbn = '' WHERE product_isbn IS NULL;
UPDATE ps_order_detail SET product_upc = '' WHERE product_upc IS NULL;
UPDATE ps_order_detail SET product_mpn = '' WHERE product_mpn IS NULL;
UPDATE ps_order_detail SET download_hash = '' WHERE download_hash IS NULL;
UPDATE ps_orders SET gift_message = '' WHERE gift_message IS NULL;
UPDATE ps_order_payment SET transaction_id = '' WHERE transaction_id IS NULL;
UPDATE ps_order_payment SET card_number = '' WHERE card_number IS NULL;
UPDATE ps_order_payment SET card_brand = '' WHERE card_brand IS NULL;
UPDATE ps_order_payment SET card_expiration = '' WHERE card_expiration IS NULL;
UPDATE ps_order_payment SET card_holder = '' WHERE card_holder IS NULL;
UPDATE ps_order_carrier SET tracking_number = '' WHERE tracking_number IS NULL;
UPDATE ps_order_carrier SET id_order_invoice = '0' WHERE id_order_invoice IS NULL;
UPDATE ps_order_carrier SET weight = '0' WHERE weight IS NULL;
UPDATE ps_product SET isbn = '' WHERE isbn IS NULL;
UPDATE ps_product SET upc = '' WHERE upc IS NULL;
UPDATE ps_product SET mpn = '' WHERE mpn IS NULL;
UPDATE ps_product SET unity = '' WHERE unity IS NULL;
UPDATE ps_product SET supplier_reference = '' WHERE supplier_reference IS NULL;
UPDATE ps_product SET location = '' WHERE location IS NULL;
UPDATE ps_product SET redirect_type = '301-category' WHERE redirect_type = '';
UPDATE ps_product SET available_date = '2020-12-01' WHERE available_date IS NULL;
UPDATE ps_product SET cache_default_attribute = '0' WHERE cache_default_attribute IS NULL;
UPDATE ps_product_shop SET unity = '' WHERE unity IS NULL;
UPDATE ps_product_shop SET redirect_type = '301-product' WHERE redirect_type = '';
UPDATE ps_product_shop SET available_date = '2020-12-01' WHERE available_date IS NULL;
UPDATE ps_product_shop SET cache_default_attribute = '0' WHERE cache_default_attribute IS NULL;
UPDATE ps_address SET dni = '' WHERE dni IS NULL;
UPDATE ps_address SET other = '' WHERE other IS NULL;
UPDATE ps_address SET address2 = '' WHERE address2 IS NULL;
UPDATE ps_address SET company = '' WHERE company IS NULL;
UPDATE ps_address SET vat_number = '' WHERE vat_number IS NULL;

** Esto en mi caso para pasar de 1.7.6.7 a 1.7.7.8

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...