Comment migrer de l'édition Enterprise vers l'édition Community?

22

J'ai un magasin fonctionnant dans Magento Enterprise Edition, je voudrais migrer vers Community Edition, pouvez-vous s'il vous plaît suggérer comment je peux le faire?

Nived
la source
2
A-t-on répondu à votre question? Y a-t-il des informations supplémentaires que vous cherchiez pour lesquelles je peux vous aider?
philwinkle

Réponses:

21

Modifier le 3/10/14

Yanted a écrit un fabuleux guide à ce sujet - certaines des fonctionnalités EE dans> = 1.13 rendent les mises à niveau un peu plus douloureuses que ce que vous pourriez croire. Comme le souligne Marius dans les commentaires, tous les mots de passe devront être réinitialisés car les méthodes de cryptage sont traitées différemment entre EE / CE.

Voir le blog pour plus de détails.

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


Message d'origine:

La migration est en fait très facile - pointez votre base de code CE vers votre base de données de production. Il n'y a rien de plus que cela (voir ci-dessous pour des informations sur la suppression de dossiers).

Si vous utilisez un thème compatible EE bien construit, il devrait être rétrocompatible.

Voici quelques fonctionnalités EE peu connues que vous devrez surveiller lors de la rétrogradation vers la communauté:

  • Pas d'accès aux attributs client depuis le panneau d'administration
  • Les segments de clientèle disparaîtront
  • Les événements du catalogue, les ventes privées, les invitations, etc. disparaîtront
  • Les hiérarchies CMS ne sont pas prises en charge dans CE
  • Les bannières ne sont pas prises en charge dans CE
  • RMA - les gens semblent toujours oublier RMA (les informations résideront dans db)
  • Les informations de journalisation de l'administrateur seront inaccessibles (résident toujours dans la base de données)

Si une grande partie de votre CMS est intégrée dans EE, je vous recommande d'adopter une approche très approfondie et méthodique et de vous assurer que votre nouveau thème CE (ou thème EE rétro-compatible) prend en charge les données qui sont toujours résidentes.

Je suggère également de ne pas supprimer de tableaux de la base de données préfixée par enterprise- ainsi que de ne supprimer aucun enterprisedossier de vos thèmes tiers. Ceux-ci ne sont pas considérés comme faisant partie de l'installation EE et vous devez les emporter avec vous lorsque vous quittez. Vous aurez besoin de supprimer les fichiers et dossiers à partir des emplacements suivants:

  • app / code / core / Enterprise
  • app / design / frontend / entreprise
  • app / design / adminhtml / default / default / layout / enterprise
  • app / design / adminhtml / default / default / template / enterprise
  • skin / adminhtml / default / enterprise
  • skin / frontend / entreprise
  • app / etc / modules / Enterprise _ *. xml
  • js / entreprise
  • LICENSE_EE.txt
  • LICENSE_EE.html

Et bien sûr, vous devez considérer le vrai biggie: Full Page Cache . Je recommande fortement que vous trouviez un cache de page complète tiers correct.

Bonne chance!

philwinkle
la source
1
Très belle explication. +1 sans hésitation, mais je veux ajouter un problème qui apparaît après la migration. Les mots de passe client existants (et les mots de passe administrateur je pense) ne seront pas valides en raison des différents modèles (et méthodes) de chiffrement utilisés dans EE et CE.
Marius
Marius - Avez-vous essayé cela? Je pense que cela ne s'appliquerait qu'à 1.10+
philwinkle
En fait, j'ai eu le problème dans l'autre sens. Quand je suis passé de CE à EE. Mais c'était EE 1.9. J'ai dû changer le modèle de cryptage pour garder les mots de passe valides dans EE. Je ne sais pas comment les choses fonctionnent sur les versions ultérieures.
Marius
1
«murica, marius. 'murica
philwinkle
1
Il y a quelques mois, j'ai fait exactement cela en utilisant ce guide. J'ai ajouté quelques instructions sur ce que j'ai fait ici: proxiblue.com.au/blog/downgrade-ee-to-ce - vous trouverez une référence à une réponse stackexchange sur le cryptage, ainsi qu'un script de migration de base de données (je pense adapté forme le message noté dans cette réponse) Le déclassement fonctionne bien depuis.
ProxiBlue
6

Le guide Yanted est correct mais oublie certaines étapes. Il y a des éléments dans les tableaux qui contiennent des références erronées et vous devez les supprimer. Il s'agit des données de configuration, des données d'autorisations, des tâches cron programmées, des données de version des extensions d'entreprise et des attributs eav d'entreprise;

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');

Supprimer les widgets réservés aux entreprises;

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

Supprimer les mises à jour de mise en page personnalisées qui font référence aux widgets d'entreprise;

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

Tronquez votre table de session afin d'éviter que des personnes ne puissent pas se connecter en raison de l'instanciation d'anciens modèles d'entreprise;

TRUNCATE TABLE core_session;

Définissez le modèle correct pour la clé URL du produit;

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

Tronquez également core_url_rewrite car ils doivent être régénérés;

TRUNCATE TABLE core_url_rewrite;

N'oubliez pas de supprimer également les déclencheurs de vos tables après avoir supprimé les tables 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;

Et réindexez!

Peter Jaap Blaakmeer
la source
0

Voici 2 cents de mon côté (mais c'est pour Magento 2 et l'approche peut être similaire).

  1. Créer une nouvelle branche à partir du maître
  2. Mettre à jour composer.json
  3. Supprimer les fichiers de licence liés à EE (non requis)
  4. Désactiver les modules EE
  5. Mettre à jour le compositeur
  6. Nettoyage de DB
  7. Vider le cache
  8. Vérifiez l'édition Magento
  9. Parcourez le site Web et vérifiez soigneusement
  10. Déploiement en direct

L'explication détaillée peut être trouvée dans
https://blog.magepsycho.com/migrate-downgrade-magento-2-from-enterprise-to-community-edition/

MagePsycho
la source