Jump to content

Script replicar dos bases de datos en el mismo servidor local


aalonsove

Recommended Posts

Como sabrán Prestashop funciona con Mysql creando la base de datos prestashop ,poseo un programa administrativo que también trabaja con Mysql . Al consultar las bases de datos puedo ver la de Prestashop y la administracion ambas con todas sus tablas. En el programa de administración están los productos ,precios y existencias. Lo que necesito es de las tablas de administración enviar los datos precios,productos existencias a las tablas de prestashop  donde se encuentran los campos de productos,precios y existencias.

 

Solo nesecito esta informacion que sea de administración a prestashop solamente .

 

Ya conozco las tablas y los campos de ambos solo requiero el script de Mysql . He podido revisar pero solo observo configuraciones para servidores FTP  y de servidores separados de administracion y prestashop .Uno web y otro local .

 

Nosotros tenemos un servidor cloud con windows server 2008 y servidor web IIs7 incluido mysql. Todo esta funcionando bien¡ todo en un mismo servidor.

 

Agradecemos la ayuda que hos podeis aportar.....

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

Lo más correcto sería poder modificar o bien tu programa de contabilidad o la bbdd de prestashop y crear una replicación master-master, ya que de esa manera en el momento que hubiera un cambio en alguna de ellas se actualizaría automáticamente. 

 

------ Script ------

Deberías tener en ambos los mismos productos y después con unos trigger debería de bastar.

 

Explícanos un poco más como tienes los sistemas actualmente y te puedo concretar algo más.

Link to comment
Share on other sites

Nuestro mayor inconveniente son las productos,existencias,precios que son aquellos que tienen mayor cambio es por ello después de analizar prestashop sus bbdd y tablas tomamos la desicion de trabajar con el . Al mismo tiempo seleccionamos un programa administrativo que fuera los mas compatible Ambas bases de datos "prestashop y Administrativo " están vacías queremos comenzar a cargar datos desde administrativo .

 

Nuestra primera etapa de implementacion deseamos solo los campos productos, existencias ,precios por ahora deseamos recibir los pedidos de prestashop y cargarlos  manualmente al sistema administrativo descontandolo del inventario y actualizando la existencia .En la medida que conozcamos mas la estructura del programa desdiremos hacer los arreglos. Nos interesa que solo envie informacion de administrativo a prestashop .No deseamos que fuera de ambos lados .

 

Administrativo Tabla Articulos                campos   codigo     Nombre     Precio+iva1     Existencias  

 

Prestashop     Tabla ps_product                          reference                       price             quantity  

                       Tablas ps_attachment_lang                              name        

 

como podras ver de los campos administrativo deseamos agregarlos o actualizarlos segun sea el caso a los campos prestashop .

 

Sencillo verdad  espero poder recibir tu ayuda gracias ¡

Link to comment
Share on other sites

Deberás crear trigger after insert, after update, after delete en la tabla artículos del programa de administración, desde mi punto de vista es lo más correcto, ya que cada vez que metas, actualices o borres un producto en el programa administrativo lo actualizará en la bbdd de prestashop.

Los trigger tendrian una estructura asi:

CREATE TRIGGER crea_producto
AFTER INSERT ON articulos FOR EACH ROW 
BEGIN 
INSERT INTO otrabasededatos.tabla ....;
END 


CREATE TRIGGER actualiza_producto
AFTER UPDATE ON articulos FOR EACH ROW 
BEGIN 
INSERT INTO otrabasededatos.tabla .... SET ....;
END 


CREATE TRIGGER borra_producto
AFTER DELETE ON articulos FOR EACH ROW 
BEGIN 
DELETE FROM otrabasededatos.tabla .... WHERE REFERENCIA='';
END 

Las tablas de prestashop son ps_product_shop, ps_product_lang, y ps_stock_available. El id de producto creo que es autonumérico y no tienes que meterlo. Prestashop no guarda el precio con IVA, lo calcula sobre la marcha en función del iva utilizado.

Link to comment
Share on other sites

Despues de efectuar las pruevas funciona como tu lo indicas . Aunque tenemos el siquiente problema.

 

La tablas ps_product_lang tiene el campo ID   no esta marcado como auto_increment ,pienso que debe ser el php que coloca el numero en secuencia 1,2,3,4,5,6 como viene originalmente .Queriendo mantener este formato dado que no queremos cambiar su manera original. He probado con:

SELECT MAX(id_product) +1 as id FROM ps_product_lang y me arroja el numero que sumadole +1 daria el numero Id .Como se podria colocar este numero?

 

Otra pregunta es  es sobre set   ejemplo:

INSERT update on tienda.ps_product_lang (campos,campos campos).... SET ....;??????

hemos utilizado 

values (campo,campo,campo) para darle valor a insert   como se supone debe estar set

 

Muchas gracias estamos avanzando.....

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

Quizá sea un poco 'chapuza' pero también puedes crear un pequeño script en bat (¿usas windows no?) que replique la base de datos (o las tablas que necesites) hacía el sitio que buscas.

 

Una última recomendación, para alojamiento web lo ideal es que evites usar windows e iis.

Link to comment
Share on other sites

Hemos colocado el campo Id_product  como auto increment ........ Se ingresa bien ... pero no muestra el producto en back office . Recomiendo ver la estructura  donde se genera el Id_product primeramente y tablas relacionadas en el ingreso .... en el siquiente enlace 

 

http://doc.prestashop.com/display/PS14/Database+Structure

 

Chequenado la unica tabla que tiene  id_product auto_increment es ps_product quiere decir que aca se genera id_produc hacia las demas tablas 

Edited by aalonsove (see edit history)
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...