13. Does Doesn‘t
Products & categories
Orders & Invoices
Shipments & credit memos
Core Configuration
Customers
Catalog DB layout updates
Web API credentials
Wishlists & Ratings
Admin users & privileges
Media files
Custom data
3rd party data
26. Alternatives
ubertheme/module-ubdatamigration
Alternative to official data migration tool
firegento/FireGento_FastSimpleImport2
Wrapper for Magento 2 ImportExport functionality
firegento/FireGento_ExtendedImport2
Extended features for Import (ported from AvS_FastSimpleImport)
33. 3rd party
functionality
DELETE
needed
in new store?
missing
in M2 core?
USE
M2 CORE
continue
with vendor?
other 3rd party
or custom?
OTHER
3RD PARTY
DO IT
YOURSELF
no no
3rd party custom
yes yes
no
34. 3rd party
functionality
DELETE
needed
in new store?
missing
in M2 core?
USE
M2 CORE
continue
with vendor?
other 3rd party
or custom?
M2 extension
available?
OTHER
3RD PARTY
DO IT
YOURSELF
no no
3rd party custom
yes yes yes
no
35. 3rd party
functionality
DELETE
needed
in new store?
missing
in M2 core?
USE
M2 CORE
continue
with vendor?
other 3rd party
or custom?
M2 extension
available?
OTHER
3RD PARTY
DO IT
YOURSELF
USE M2
EXTENSION
no no
3rd party custom
yes yes yes yes
no no
41. your M1
functionality
DELETE
needed
in new store?
missing
in M2 core?
USE
M2 CORE
3rd party
or custom?
3RD PARTY
DO IT
YOURSELF
no no 3rd party custom
yes yes
REWRITE?
MIGRATE?
47. Does Doesn‘t
Namespaces
Configuration XML files
Layout XML files
Magento code interaction
Module directory structure
Template files & design
Changes in business logic
60. Official data migration guide
http://devdocs.magento.com/guides/v2.0/migration/bk-
migration-guide.html
Data migration experience by Marcin Szterling (English, Youtube)
Marcin Szterling - Data Migration from Magento 1 to Magento 2
Resources
61. Data migration experience by Sven Wappler (German)
https://www.wapplersystems.de/blog/slides-zum-vortrag-
magento-002-migriere-an-einem-anderen-tag-sind-online/
Data migration experience by Eugen Bogdanovich (English)
http://oyenetwork.com/articles/data-migration-to-magento2-
case-study/
Resources
it's not a simple update
You don‘t get Magento 2 with the click of a button or a few commands
It‘s a process which involves a lot of manual work.
Use it as a chance for a make-over [Next]
Add repository
Magento 2 installation needed, but not Magento 1
Data migration tool release per Magento version (last version: 2.1.1, released beginning of September)
Install tool
Installation: composer require from Github or repo.magento.com
Symfony Console
Monolog
Configure
XML Files
Credentials for M1 and M2 databases
* Custom = your extensions, 3rd party extensions
Tables
* copy
* ignore
* rename
Columns
* copy
* ignore
* rename
* transform value => handlers can be defined (null handler, custom handler, …)
but it has issues – reserve time!
As with every integration project: get real data as soon as possible
Ensure data integrity
Remove un-needed entries
Create database backup after install (it's easy to introduce foreign key errors in target database; tool expects fresh database)
Script steps for execution and reset
First „collect“ all errors (ignore documents / fields, rename to „“) and when the script runs through think what you make out of that information
You can have your files anywhere in the file system:
Version them in your own repository outside of the migration tool directory structure for better overview and easier re-use
You can divide config files further, for example for the different calls
Although you use a M2 installation, at the moment there is no way for your migrated M2 community extensions to specify mappings in own files – you have to define mappings manually for extensions for every project
Is said to be not working perfectly at the moment
Ubertheme
Pro: easy to use, little configuration, does the job for standard data, supports delta
Con: slow, hard to rewrite, not secured
Go through the list of extensions and make basic decisions for every module
3rd party code: Marketplace
Second, decide on your homegrown modules
if you do the extension yourself: do you want to migrate the extension or rewrite it from scratch?
If you rewrite the extension from scratch:
Try to use automated testing – base is better
Follow official coding standards
Document behaviour as it was in M1 so you know what should work how afterwards
Maybe write platform independent code
If you want migrate the extension:
Make sure you followed the coding standards in Magento 1, otherwise you may want to refactor the extension before migrating
Good if you have files in separate directory like you have with modman or Composer
Of course, also any kind of automated testing helps too
Also here:
document M1 behaviour
think about writing platform independent code: (even more so if you have to develop new stuff before migrating)
It has a good documentation!
A few things that I learned here: [next]
Installation: you could also do composer require, but there are no official versions yet (current: "0.0.1-alpha")
Symfony Console
Monolog
No Magento 1 or Magento 2 installation needed
<src>: Good for you if you extracted your code into Composer modules or the like
Bring your code in order before doing the migration! See Sergii Shymkos presentation: remove unused modules, revert core modifications. Also interesting: remove core bugfixes irrelevant to M2
Mapping files make code migration possible
Out of the box: newest M1 version to M2
Generated by you: your M1 version to M2
Obey the order!
May generate warnings
generateModuleMapping: exception with EE
If you use <m1>, then mappings for third-party tools etc. may be added
convertConfig:
config.xml is unchanged, so you have to find out yourself what has been moved and what not
Bugs: convertConfig: system.xml type, show_in_store etc. not used
convertPhpCode:
Originale Dateien werden beibehalten, man kann vergleichen was gemacht worden ist
Dependency information not migrated properly(?)
Event observers not migrated properly(?)
be pragmatic.
work together.
find solutions together as you're both going to learn a lot about Magento 2 at this point of time
To build a better shop!
Topics I didn‘t mention at all or not in detail:
Theme migration
Build & Deployment process