Órdenes de synchronization de Magento en etapas y bases de datos en vivo

Así que tengo un sitio de Staging y Live Magento. Quiero hacer cosas como temas, instalar extensiones, actualizaciones de Magento, etc. en el sitio de ensayo y luego enviarlo al server en vivo.

El problema es que mientras estoy trabajando en los cambios, hay pedidos en vivo entrando al sitio en vivo. Así que no puedo simplemente copyr los files y la database al server en vivo. Me faltarán pedidos y clientes y todos mis numbers de pedido se arruinarán.

Entonces, ¿cuál es la forma correcta de mantener ambas bases de datos sincronizadas? Algo así como una actualización de Magento o una installation de extensión hará cambios en la database, por lo que no puedo usar la database en vivo para ambos.

Vi a alguien mencionar el uso de GIT / GitHub, no estoy seguro de cómo funciona, pero ¿será eso lo único que debe hacer para cambiar los cambios en la database al server en vivo, junto con los files modificados?

Gracias

No debería tener que mantener sus bases de datos de producción y producción sincronizadas cuando se trata de datos variables, como clientes, pedidos, etc.

En su lugar, debe tener una database dev-stripped (sin loggings, clientes, pedidos, etc.) de la producción que utiliza en la etapa de transición. Puede colocar todas las órdenes de testing que desee volver a llenar esos datos. Esto también significa que no tiene el riesgo de enviar correos electrónicos a clientes en vivo desde su database provisional.

En términos de si actualiza su database, layout, etc., necesita rastrear dos áreas de cambio:

  1. Cambios de files (templates, CSS, Javascript, modules, código actualizado de Magento central …)
  2. Cambios de configuration (database)

Para los cambios de files, debe usar un sistema de control de versiones (Git, Subversion, etc.) y seguir sus cambios a medida que los realiza. Cuando se testingn y están listos para implementarse en producción, puede fusionarlos en maestros.

Para los cambios en la database, la única forma en que realmente puede garantizar que al implementar su código en la producción todo cambia es si usa los scripts de configuration / actualización de Magento para agregar su configuration a la database. Si no los ha usado antes, básicamente son un file PHP y un número de versión en su config.xml para un module que usted aumenta, agrega un nuevo script de installation y le dice lo que quiere cambiar, ya sea que sea creando nuevas tablas o datos, guardando o cambiando valores de configuration, etc.

Los principales beneficios de rastrear todos los cambios de configuration en las secuencias de commands del instalador (me refiero a todo , literalmente) son:

  1. Cuando implemente su código fuente y reindexe, Magento actualizará su database de producción con toda la nueva configuration que necesita
  2. No tiene que preocuparse por gestionar los cambios de la database por separado
  3. Está todo versionado: cada incremento de la versión del module puede tener un nuevo script de installation, para que pueda ver lo que ha cambiado en el module a lo largo del time.

Para get más información, Alan Storm tiene un excelente artículo sobre ellos .

    Intereting Posts