¿Cómo migrar de Enterprise Edition a Community Edition?

22

Tengo una tienda que se ejecuta en Magento Enterprise Edition, me gustaría migrar a Community Edition, ¿podría sugerirme cómo puedo hacer esto?

Nived
fuente
2
¿Tu pregunta fue respondida? ¿Hay alguna información adicional que estaba buscando con la que pueda ayudarlo?
philwinkle

Respuestas:

21

Editar 10/03/14

Yanted ha escrito una guía fabulosa para esto: algunas de las características de EE en> = 1.13 en realidad hacen que las actualizaciones sean un poco más dolorosas de lo que la descripción a continuación le haría creer. Como Marius señala en los comentarios, todas las contraseñas deberán restablecerse ya que los métodos de cifrado se manejan de manera diferente entre EE / CE.

Vea el blog para más detalles.

https://web.archive.org/web/20150208220803/ http://blog.yanted.com/2014/02/21/downgrading-magento-enterprise-to-community


Publicación original:

La migración es realmente muy fácil: apunte su base de código CE a su base de datos de producción. Hay poco más que eso (ver más abajo para obtener información sobre la eliminación de carpetas).

Si está utilizando un tema compatible con EE bien construido , debería ser compatible con versiones anteriores.

Aquí hay algunas características de EE poco conocidas que deberá tener en cuenta al pasar a la Comunidad:

  • Sin acceso a los atributos del cliente desde el panel de administración
  • Los segmentos de clientes desaparecerán
  • Los eventos del catálogo, las ventas privadas, las invitaciones, etc. desaparecerán
  • Las jerarquías de CMS no son compatibles con CE
  • Los banners no son compatibles con CE
  • RMA: las personas siempre parecen olvidarse de RMA (la información será residente en db)
  • La información de registro de administrador será inaccesible (aún residente en db)

Si tiene una gran parte de su CMS integrado en EE, le recomiendo que adopte un enfoque muy completo y metódico y se asegure de que su nuevo tema CE (o tema EE compatible con versiones anteriores) admita los datos que aún residen.

También sugiero no quitar ninguna tabla de la base de datos con el prefijo enterprise- así como no eliminar ninguna enterprisecarpeta de los temas de terceros. Estos no se consideran parte de la instalación de EE y debe llevarlos con usted cuando salga. Usted tendrá que quitar los archivos y carpetas de las siguientes ubicaciones:

  • aplicación / código / core / Enterprise
  • aplicación / diseño / interfaz / empresa
  • app / design / adminhtml / default / default / layout / enterprise
  • app / design / adminhtml / default / default / template / enterprise
  • skin / adminhtml / default / enterprise
  • piel / frontend / empresa
  • app / etc / modules / Enterprise _ *. xml
  • js / enterprise
  • LICENSE_EE.txt
  • LICENCIA_EE.html

Y, por supuesto, debe tener en cuenta el verdadero problema: caché de página completa . Le recomiendo que encuentre un buen caché de página completa de terceros.

¡La mejor de las suertes!

philwinkle
fuente
1
Muy buena explicación. +1 sin dudarlo, pero quiero agregar un problema que aparece después de la migración. Las contraseñas de los clientes existentes (y las contraseñas de administrador, creo) no serán válidas debido a los diferentes modelos de cifrado (y métodos) utilizados en EE y CE.
Marius
Marius - ¿Has probado esto? Creo que solo se aplicaría a 1.10+
philwinkle
De hecho, tuve el problema al revés. Cuando he actualizado de CE a EE. Pero fue EE 1.9. Tuve que cambiar el modelo de cifrado para mantener las contraseñas válidas en EE. No estoy seguro de cómo funcionan las cosas en versiones posteriores.
Marius
1
'murica, marius. 'murica
philwinkle
1
Hace unos meses hice exactamente esto, usando esta guía. Agregué algunas instrucciones sobre lo que hice aquí: proxiblue.com.au/blog/downgrade-ee-to-ce : encontrará una referencia a una respuesta de stackexchange sobre el cifrado, así como un script de migración de base de datos (creo que adaptado formar la publicación anotada en esta respuesta) La degradación ha estado funcionando bien desde entonces.
ProxiBlue
6

La guía de Yanted está bien pero olvida algunos pasos. Hay elementos en las tablas que contienen referencias incorrectas y debe eliminarlos. Estos son datos de configuración, datos de permisos, cronjobs programados, datos de versiones de extensión de empresa y atributos de eav de empresa;

DELETE FROM core_config_data WHERE path LIKE '%enterprise%';
DELETE FROM admin_rule WHERE resource_id LIKE '%enterprise%';
DELETE FROM api_rule WHERE resource_id LIKE '%enterprise%';
DELETE FROM api_rule WHERE resource_id LIKE '%giftcard%';
DELETE FROM cron_schedule WHERE job_code LIKE '%enterprise%';
DELETE FROM core_resource WHERE code LIKE '%enterprise%';
DELETE FROM catalog_eav_attribute WHERE frontend_input_renderer LIKE '%enterprise%';
DELETE FROM cms_block WHERE identifier = 'catalog_events_lister';
DELETE FROM eav_entity_type WHERE entity_model LIKE '%enterprise%';
DELETE FROM eav_attribute WHERE source_model LIKE 'enterprise_%';
DELETE FROM eav_attribute WHERE backend_model LIKE 'enterprise_%';
DELETE FROM eav_attribute WHERE attribute_code IN ('gift_wrapping_available', 'gift_wrapping_price');

Eliminar widgets solo para empresas;

DELETE FROM widget_instance WHERE instance_type LIKE '%enterprise%';

Eliminar actualizaciones de diseño personalizadas que hacen referencia a widgets empresariales;

DELETE FROM core_layout_update WHERE xml LIKE '%enterprise%';

Trunca tu tabla de sesión para evitar que las personas no puedan iniciar sesión debido a la creación de instancias de viejos modelos empresariales;

TRUNCATE TABLE core_session;

Establecer el modelo correcto para la clave de URL del producto;

UPDATE eav_attribute SET backend_model = 'catalog/product_attribute_backend_urlkey', backend_table = null WHERE attribute_code = 'url_key' AND entity_type_id = 4;

También trunca core_url_rewrite ya que deberían ser regenerados;

TRUNCATE TABLE core_url_rewrite;

No olvide eliminar también los desencadenantes de sus tablas después de eliminar las tablas enterprise_ *;

DROP TABLE IF EXISTS enterprise_admin_passwords;
DROP TABLE IF EXISTS enterprise_banner_catalogrule;
DROP TABLE IF EXISTS enterprise_banner_content;
DROP TABLE IF EXISTS enterprise_banner_customersegment;
DROP TABLE IF EXISTS enterprise_banner_salesrule;
DROP TABLE IF EXISTS enterprise_banner;
DROP TABLE IF EXISTS enterprise_catalog_category_rewrite;
DROP TABLE IF EXISTS enterprise_catalog_product_rewrite;
DROP TABLE IF EXISTS enterprise_catalogevent_event_image;
DROP TABLE IF EXISTS enterprise_catalogevent_event;
DROP TABLE IF EXISTS enterprise_catalogpermissions;
DROP TABLE IF EXISTS enterprise_catalogpermissions_index;
DROP TABLE IF EXISTS enterprise_catalogpermissions_index_product;
DROP TABLE IF EXISTS enterprise_cms_hierarchy_lock;
DROP TABLE IF EXISTS enterprise_cms_hierarchy_metadata;
DROP TABLE IF EXISTS enterprise_cms_hierarchy_node;
DROP TABLE IF EXISTS enterprise_cms_increment;
DROP TABLE IF EXISTS enterprise_cms_page_revision;
DROP TABLE IF EXISTS enterprise_cms_page_version;
DROP TABLE IF EXISTS enterprise_customer_sales_flat_order;
DROP TABLE IF EXISTS enterprise_customer_sales_flat_order_address;
DROP TABLE IF EXISTS enterprise_customer_sales_flat_quote;
DROP TABLE IF EXISTS enterprise_customer_sales_flat_quote_address;
DROP TABLE IF EXISTS enterprise_customerbalance_history;
DROP TABLE IF EXISTS enterprise_customerbalance;
DROP TABLE IF EXISTS enterprise_customersegment_customer;
DROP TABLE IF EXISTS enterprise_customersegment_event;
DROP TABLE IF EXISTS enterprise_customersegment_website;
DROP TABLE IF EXISTS enterprise_giftcard_amount;
DROP TABLE IF EXISTS enterprise_giftcardaccount_history;
DROP TABLE IF EXISTS enterprise_giftcardaccount_pool;
DROP TABLE IF EXISTS enterprise_giftcardaccount;
DROP TABLE IF EXISTS enterprise_giftregistry_data;
DROP TABLE IF EXISTS enterprise_giftregistry_item_option;
DROP TABLE IF EXISTS enterprise_giftregistry_item;
DROP TABLE IF EXISTS enterprise_giftregistry_label;
DROP TABLE IF EXISTS enterprise_giftregistry_person;
DROP TABLE IF EXISTS enterprise_giftregistry_type_info;
DROP TABLE IF EXISTS enterprise_giftregistry_entity;
DROP TABLE IF EXISTS enterprise_giftregistry_type;
DROP TABLE IF EXISTS enterprise_giftwrapping_store_attributes;
DROP TABLE IF EXISTS enterprise_giftwrapping_website;
DROP TABLE IF EXISTS enterprise_giftwrapping;
DROP TABLE IF EXISTS enterprise_index_multiplier;
DROP TABLE IF EXISTS enterprise_invitation_status_history;
DROP TABLE IF EXISTS enterprise_invitation_track;
DROP TABLE IF EXISTS enterprise_invitation;
DROP TABLE IF EXISTS enterprise_logging_event_changes;
DROP TABLE IF EXISTS enterprise_logging_event;
DROP TABLE IF EXISTS enterprise_mview_metadata_event;
DROP TABLE IF EXISTS enterprise_mview_subscriber;
DROP TABLE IF EXISTS enterprise_mview_event;
DROP TABLE IF EXISTS enterprise_mview_metadata;
DROP TABLE IF EXISTS enterprise_mview_metadata_group;
DROP TABLE IF EXISTS enterprise_reminder_rule_coupon;
DROP TABLE IF EXISTS enterprise_reminder_rule_log;
DROP TABLE IF EXISTS enterprise_reminder_rule_website;
DROP TABLE IF EXISTS enterprise_reminder_template;
DROP TABLE IF EXISTS enterprise_reminder_rule;
DROP TABLE IF EXISTS enterprise_reward_history;
DROP TABLE IF EXISTS enterprise_reward_rate;
DROP TABLE IF EXISTS enterprise_reward_salesrule;
DROP TABLE IF EXISTS enterprise_reward;
DROP TABLE IF EXISTS enterprise_rma_grid;
DROP TABLE IF EXISTS enterprise_rma_item_eav_attribute_website;
DROP TABLE IF EXISTS enterprise_rma_item_eav_attribute;
DROP TABLE IF EXISTS enterprise_rma_item_entity_datetime;
DROP TABLE IF EXISTS enterprise_rma_item_entity_decimal;
DROP TABLE IF EXISTS enterprise_rma_item_entity_int;
DROP TABLE IF EXISTS enterprise_rma_item_entity_text;
DROP TABLE IF EXISTS enterprise_rma_item_entity_varchar;
DROP TABLE IF EXISTS enterprise_rma_item_entity;
DROP TABLE IF EXISTS enterprise_rma_item_form_attribute;
DROP TABLE IF EXISTS enterprise_rma_shipping_label;
DROP TABLE IF EXISTS enterprise_rma_status_history;
DROP TABLE IF EXISTS enterprise_rma;
DROP TABLE IF EXISTS enterprise_sales_creditmemo_grid_archive;
DROP TABLE IF EXISTS enterprise_sales_invoice_grid_archive;
DROP TABLE IF EXISTS enterprise_sales_order_grid_archive;
DROP TABLE IF EXISTS enterprise_sales_shipment_grid_archive;
DROP TABLE IF EXISTS enterprise_scheduled_operations;
DROP TABLE IF EXISTS enterprise_staging_action;
DROP TABLE IF EXISTS enterprise_staging_item;
DROP TABLE IF EXISTS enterprise_staging_log;
DROP TABLE IF EXISTS enterprise_staging_product_unlinked;
DROP TABLE IF EXISTS enterprise_staging;
DROP TABLE IF EXISTS enterprise_targetrule_customersegment;
DROP TABLE IF EXISTS enterprise_targetrule_index_crosssell_product;
DROP TABLE IF EXISTS enterprise_targetrule_index_crosssell;
DROP TABLE IF EXISTS enterprise_targetrule_index_related_product;
DROP TABLE IF EXISTS enterprise_targetrule_index_related;
DROP TABLE IF EXISTS enterprise_targetrule_index_upsell_product;
DROP TABLE IF EXISTS enterprise_targetrule_index_upsell;
DROP TABLE IF EXISTS enterprise_targetrule_index;
DROP TABLE IF EXISTS enterprise_targetrule_product;
DROP TABLE IF EXISTS enterprise_targetrule;
DROP TABLE IF EXISTS enterprise_url_rewrite_category_cl;
DROP TABLE IF EXISTS enterprise_url_rewrite_product_cl;
DROP TABLE IF EXISTS enterprise_url_rewrite_redirect_cl;
DROP TABLE IF EXISTS enterprise_url_rewrite_redirect_rewrite;
DROP TABLE IF EXISTS enterprise_url_rewrite_redirect;
DROP TABLE IF EXISTS enterprise_url_rewrite;
DROP TABLE IF EXISTS enterprise_customersegment_segment;

DROP TRIGGER IF EXISTS trg_catalog_category_entity_after_insert;
DROP TRIGGER IF EXISTS trg_catalog_category_entity_after_update;
DROP TRIGGER IF EXISTS trg_catalog_category_entity_after_delete;
DROP TRIGGER IF EXISTS trg_catalog_category_entity_url_key_after_insert;
DROP TRIGGER IF EXISTS trg_catalog_category_entity_url_key_after_update;
DROP TRIGGER IF EXISTS trg_catalog_category_entity_url_key_after_delete;
DROP TRIGGER IF EXISTS trg_catalog_product_entity_url_key_after_insert;
DROP TRIGGER IF EXISTS trg_catalog_product_entity_url_key_after_delete;
DROP TRIGGER IF EXISTS trg_catalog_product_entity_url_key_after_update;
DROP TRIGGER IF EXISTS trg_catalog_eav_attribute_after_insert;
DROP TRIGGER IF EXISTS trg_catalog_eav_attribute_after_update;
DROP TRIGGER IF EXISTS trg_catalog_eav_attribute_after_delete;
DROP TRIGGER IF EXISTS trg_core_config_data_after_insert;
DROP TRIGGER IF EXISTS trg_core_config_data_after_update;
DROP TRIGGER IF EXISTS trg_core_config_data_after_delete;
DROP TRIGGER IF EXISTS trg_core_store_group_after_insert;
DROP TRIGGER IF EXISTS trg_core_store_group_after_update;
DROP TRIGGER IF EXISTS trg_core_store_group_after_delete;
DROP TRIGGER IF EXISTS trg_core_store_after_insert;
DROP TRIGGER IF EXISTS trg_core_store_after_delete;
DROP TRIGGER IF EXISTS trg_core_store_after_update;
DROP TRIGGER IF EXISTS trg_core_website_after_delete;
DROP TRIGGER IF EXISTS trg_customer_group_after_insert;

Y reindexar!

Peter Jaap Blaakmeer
fuente
0

Aquí hay 2 centavos de mi lado (pero esto es para Magento 2 y el enfoque puede ser similar).

  1. Crear una nueva sucursal desde master
  2. Actualizar composer.json
  3. Eliminar archivos de licencia relacionados con EE (no obligatorio)
  4. Deshabilitar módulos EE
  5. Actualizar compositor
  6. Limpieza DB
  7. Limpiar cache
  8. Verifique la edición de Magento
  9. Navegue por el sitio web y verifique a fondo
  10. Implementación en vivo

La explicación detallada se puede encontrar en
https://blog.magepsycho.com/migrate-downgrade-magento-2-from-enterprise-to-community-edition/

MagePsycho
fuente