Jak przeprowadzić migrację z wersji Enterprise do wersji Community?

22

Mam sklep w Magento Enterprise Edition. Chciałbym przeprowadzić migrację do wersji Community Edition. Czy możesz mi zasugerować, jak to zrobić?

Nived
źródło
2
Czy udzielono odpowiedzi na twoje pytanie? Czy są jakieś dodatkowe informacje, w których mogłem Ci pomóc?
philwinkle

Odpowiedzi:

21

Edytuj 3/10/14

Yanted napisał fantastyczny przewodnik na ten temat - niektóre funkcje EE w> = 1.13 sprawiają, że aktualizacje są nieco bardziej bolesne, niż można by przypuszczać. Jak zauważył Marius w komentarzach, wszystkie hasła będą musiały zostać zresetowane, ponieważ metody szyfrowania są obsługiwane inaczej w EE / CE.

Zobacz blog, aby uzyskać więcej informacji.

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


Oryginalny post:

Migracja jest w rzeczywistości bardzo łatwa - skieruj bazę kodów CE na produkcyjną bazę danych. Jest w tym niewiele więcej (niektóre informacje na temat usuwania folderów znajdują się poniżej).

Jeśli używasz dobrze zbudowanego motywu zgodnego z EE , powinien on być kompatybilny wstecz.

Oto kilka mało znanych funkcji EE, na które musisz uważać, przechodząc na społeczność:

  • Brak dostępu do atrybutów klienta z panelu administracyjnego
  • Segmenty klientów znikną
  • Wydarzenia z katalogu, prywatne wyprzedaże, zaproszenia itp. Znikną
  • Hierarchie CMS nie są obsługiwane w CE
  • Banery nie są obsługiwane w CE
  • RMA - ludzie zawsze wydają się zapominać o RMA (informacje będą przechowywane w db)
  • Informacje o logowaniu administratora będą niedostępne (nadal rezydentem w db)

Jeśli masz dużą część swojego CMS-a wbudowanego w EE, zalecam przyjęcie bardzo dokładnego i metodycznego podejścia i upewnienie się, że Twój nowy motyw CE (lub wcześniej kompatybilny motyw EE) obsługuje dane, które nadal są rezydentne.

Sugeruję również, aby nie upuszczać żadnych tabel z bazy danych z prefiksem enterprise- a także nie usuwać żadnych enterprisefolderów z motywów innych firm. Nie są one uważane za część instalacji EE i powinieneś zabrać je ze sobą, kiedy wychodzisz. Państwo będzie trzeba usunąć pliki i foldery z następujących lokalizacji:

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

I oczywiście musisz wziąć pod uwagę prawdziwą biggie: Full Page Cache . Gorąco polecam znaleźć przyzwoitą pamięć podręczną innej strony innej firmy.

Powodzenia!

philwinkle
źródło
1
Bardzo miłe wytłumaczenie. +1 bez wahania, ale chcę dodać problem, który pojawia się po migracji. Istniejące hasła klientów (i myślę, że hasła administracyjne) nie będą ważne z powodu różnych modeli szyfrowania (i metod) stosowanych w EE i CE.
Marius
Marius - próbowałeś tego? Myślę, że miałoby to zastosowanie tylko do wersji 1.10+
philwinkle
Naprawdę miałem problem na odwrót. Kiedy przejdę z CE na EE. Ale to była EE 1.9. Musiałem zmienić model szyfrowania, aby hasła były ważne w EE. Nie jestem pewien, jak działają rzeczy w późniejszych wersjach.
Marius
1
Murica, Mario. „murica
philwinkle
1
Kilka miesięcy temu zrobiłem dokładnie to, korzystając z tego przewodnika. Dodałem instrukcję dotyczącą tego, co tutaj zrobiłem: proxiblue.com.au/blog/downgrade-ee-to-ce - znajdziesz odniesienie do odpowiedzi wymiany stosu na temat szyfrowania, a także skrypt migracji bazy danych (myślę, że dostosowałem z posta zanotowanego w tej odpowiedzi).
ProxiBlue
6

Przewodnik Yanted jest w porządku, ale zapomina o kilku krokach. W tabelach znajdują się pozycje, które zawierają nieprawidłowe odniesienia i należy je usunąć. Są to dane konfiguracyjne, dane uprawnień, zaplanowane cronjobs, dane wersjonowania rozszerzeń Enterprise i atrybuty eav Enterprise;

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

Usuń widżety przeznaczone tylko dla przedsiębiorstw;

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

Usuń niestandardowe aktualizacje układu, które odwołują się do widgetów korporacyjnych;

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

Obetnij swoją tabelę sesji, aby ludzie nie mogli się zalogować z powodu tworzenia starych modeli korporacyjnych;

TRUNCATE TABLE core_session;

Ustaw prawidłowy model klucza URL dla produktu;

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

Obetnij także core_url_rewrite, ponieważ powinny zostać zregenerowane;

TRUNCATE TABLE core_url_rewrite;

Nie zapomnij również usunąć wyzwalaczy ze swoich tabel po usunięciu tabel 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;

I reindex!

Peter Jaap Blaakmeer
źródło
0

Oto 2 centy z mojej strony (ale dotyczy to Magento 2 i podejście może być podobne).

  1. Utwórz nowy oddział z Master
  2. Zaktualizuj composer.json
  3. Usuń pliki licencji związane z EE (niewymagane)
  4. Wyłącz moduły EE
  5. Zaktualizuj kompozytora
  6. DB Cleansing
  7. Wyczyść pamięć podręczną
  8. Sprawdź wersję Magento
  9. Przeglądaj stronę internetową i sprawdź dokładnie
  10. Wdrażanie na żywo

Szczegółowe wyjaśnienie można znaleźć w
https://blog.magepsycho.com/migrate-downgrade-magento-2-from-enterprise-to-community-edition/

MagePsycho
źródło