Wie kann ich von der Enterprise Edition auf die Community Edition migrieren?

22

Ich habe ein Geschäft, das in Magento Enterprise Edition ausgeführt wird, möchte auf Community Edition migrieren. Können Sie mir bitte vorschlagen, wie ich dies tun kann?

Nived
quelle
2
Wurde Ihre Frage beantwortet? Gibt es zusätzliche Informationen, die Sie gesucht haben und bei denen ich Ihnen helfen kann?
Philwinkle

Antworten:

21

Bearbeiten 10.03.14

Yanted hat einen fabelhaften Leitfaden dazu geschrieben - einige der EE-Funktionen in> = 1.13 machen Upgrades ein wenig schmerzhafter, als die folgende Beschreibung vermuten lässt. Wie Marius in den Kommentaren betont, müssen alle Passwörter zurückgesetzt werden, da die Verschlüsselungsmethoden zwischen EE / CE unterschiedlich gehandhabt werden.

Weitere Informationen finden Sie im Blog.

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


Ursprünglicher Beitrag:

Die Migration ist eigentlich sehr einfach. Richten Sie Ihre CE-Codebasis auf Ihre Produktionsdatenbank. Es gibt wenig mehr als das (siehe unten für einige Informationen zum Entfernen von Ordnern).

Wenn Sie ein gut entwickeltes EE-kompatibles Thema verwenden , sollte es abwärtskompatibel sein.

Im Folgenden sind einige wenig bekannte EE-Funktionen aufgeführt, auf die Sie beim Downgrade auf Community achten müssen:

  • Kein Zugriff auf Kundenattribute im Admin-Bereich
  • Kundensegmente werden verschwinden
  • Katalogveranstaltungen, Privatverkäufe, Einladungen etc. werden wegfallen
  • CMS-Hierarchien werden in CE nicht unterstützt
  • Banner werden in CE nicht unterstützt
  • RMA - Leute scheinen RMA immer zu vergessen (Informationen werden in db gespeichert)
  • Auf die Admin-Protokollierungsinformationen kann nicht zugegriffen werden (sie befinden sich immer noch in der Datenbank)

Wenn Sie einen großen Teil Ihres CMS in EE integriert haben, empfehle ich Ihnen, einen sehr gründlichen und methodischen Ansatz zu wählen und sicherzustellen, dass Ihr neues CE-Design (oder abwärtskompatibles EE-Design) die noch vorhandenen Daten unterstützt.

Ich schlage vor , auch nicht alle Tabellen fällt aus der db mit dem Präfix enterprise- sowie nicht entfernt alle enterpriseOrdner von 3rd - Party - Themen. Diese werden nicht als Teil der EE-Installation betrachtet und sollten beim Verlassen mitgenommen werden. Sie werden brauchen , um die Dateien und Ordner aus den folgenden Stellen zu entfernen:

  • App / Code / Core / Enterprise
  • App / Design / Frontend / Unternehmen
  • app / design / adminhtml / default / default / layout / enterprise
  • app / design / adminhtml / default / default / template / enterprise
  • skin / adminhtml / default / enterprise
  • Skin / Frontend / Unternehmen
  • app / etc / modules / Enterprise _ *. xml
  • js / enterprise
  • LICENSE_EE.txt
  • LICENSE_EE.html

Und natürlich müssen Sie das wahre Motto berücksichtigen: Ganzseitiger Cache . Ich empfehle dringend, dass Sie einen anständigen Ganzseiten-Cache von Drittanbietern finden.

Viel Glück!

Philwinkle
quelle
1
Sehr schöne Erklärung. +1 ohne zu zögern, aber ich möchte ein Problem hinzufügen, das nach der Migration auftritt. Die vorhandenen Kundenpasswörter (und Administratorkennwörter, glaube ich) sind aufgrund der verschiedenen Verschlüsselungsmodelle (und -methoden), die in EE und CE verwendet werden, nicht gültig.
Marius
Marius - Hast du das versucht? Ich denke, es würde nur für 1.10+ gelten
Philwinkle
Ich hatte das Problem tatsächlich umgekehrt. Wenn ich von CE auf EE umgestiegen bin. Aber es war EE 1.9. Ich musste das Verschlüsselungsmodell ändern, um die Passwörter in EE gültig zu halten. Ich bin mir nicht sicher, wie die Dinge in späteren Versionen funktionieren.
Marius
1
Murica, Marius. 'murica
philwinkle
1
Vor ein paar Monaten habe ich genau das mit dieser Anleitung gemacht. Ich habe hier eine Anleitung hinzugefügt: proxiblue.com.au/blog/downgrade-ee-to-ce - Sie finden einen Verweis auf eine Stackexchange-Antwort zur Verschlüsselung sowie ein Datenbankmigrationsskript (ich denke angepasst) form the post vermerkt in dieser Antwort) Das Downgrade ist seitdem gut gelaufen.
ProxiBlue
6

Der Yanted-Führer ist in Ordnung, vergisst aber einige Schritte. Es gibt Elemente in Tabellen, die falsche Verweise enthalten, und Sie sollten diese entfernen. Dies sind Konfigurationsdaten, Berechtigungsdaten, geplante Cronjobs, Versionsdaten für Enterprise-Erweiterungen und Enterprise-EAV-Attribute.

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

Löschen Sie nur für Unternehmen bestimmte Widgets.

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

Löschen Sie benutzerdefinierte Layout-Updates, die auf Enterprise-Widgets verweisen.

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

Kürzen Sie Ihre Sitzungstabelle, um zu vermeiden, dass Benutzer sich aufgrund der Instanziierung alter Unternehmensmodelle nicht anmelden können.

TRUNCATE TABLE core_session;

Richtiges Modell für den URL-Schlüssel für das Produkt festlegen.

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

Kürzen Sie außerdem core_url_rewrite, da diese neu generiert werden sollten.

TRUNCATE TABLE core_url_rewrite;

Vergessen Sie nicht, auch die Trigger aus Ihren Tabellen zu löschen, nachdem Sie die enterprise_ * -Tabellen entfernt haben.

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;

Und neu indizieren!

Peter Jaap Blaakmeer
quelle
0

Hier sind 2 Cent von meiner Seite (aber dies ist für Magento 2 und Ansatz kann ähnlich sein).

  1. Erstellen Sie einen neuen Zweig vom Master
  2. Aktualisieren Sie composer.json
  3. EE-bezogene Lizenzdateien entfernen (nicht erforderlich)
  4. EE-Module deaktivieren
  5. Composer aktualisieren
  6. DB-Reinigung
  7. Cache leeren
  8. Überprüfen Sie die Magento Edition
  9. Durchsuchen Sie die Website und überprüfen Sie sie gründlich
  10. Live-Bereitstellung

Die ausführliche Erklärung finden Sie unter
https://blog.magepsycho.com/migrate-downgrade-magento-2-from-enterprise-to-community-edition/

MagePsycho
quelle