akeneo / transporteo

Migration Tool for Akeneo PIM from 1.7 to 2.0
Other
8 stars 7 forks source link

Issue importing variants as code be being truncated #149

Open buttash opened 5 years ago

buttash commented 5 years ago

I am migrating my v1.7 environment to v2 and am having issues with family variant attributes. I have some variant axis that have a large number of variants and the error output message seems to truncate the variant code. For example:

[2018-12-04 13:25:18] app.WARNING: Unable to migrate the variations for the family xljoinery and axis length, thickness, width, because all the following variation group(s) don't have the same attributes : external_hardwood_dowelled_2xg, external_hardwood_dowelled_acacia, external_hardwood_dowelled_carolina, external_hardwood_dowelled_colonial_6_panel, external_hardwood_dowelled_london_4_panel, external_hardwood_dowelled_malton, external_hardwood_dowelled_richmond, external_hardwood_dowelled_york, external_hardwood_m_t_2xg, external_hardwood_m_t_carolina, external_hardwood_m_t_colonial_6_panel, external_hardwood_m_t_malton, external_hardwood_m_t_richmond, external_oak_m_t_modena, external_oak_m_t_suffolk, external_oak_pre_finished_suffolk, internal_oak_louis_with_raised_mouldings, internal_oak_palermo, internal_oak_pesaro, internal_oak_pre_finished_louis_door_with_raised_mouldings, internal_oak_pre_finished_palermo, internal_oak_pre_finished_pesaro, internal_oak_pre_finished_ravenna, internal_oak_pre_finished_salerno, internal_oak_pre_finished_shaker_4_panel, internal_oak_pre_finished_suffolk, internal_oak_pre_finished_verona, internal_oak_pre_finished_victorian, internal_oak_pre_finished_worcester, internal_oak_ravenna, internal_oak_salern [] []

The last code is truncated, it should be internal_oak_salerno. I am seeing this behaviour for ten other family variants. I do not see this issue when there are a small number of variants.

I debugged VariantGroupValidator.php to see that $variantGroupCombination->getGroups() returns the variant groups as above and that the last item (in this case internal_oak_salern) returns an empty array when calling $this->variantGroupRepository->retrieveGroupAttributes($group, $pim);

Is this something that is easy to resolve?

Thanks in advance Martin

buttash commented 5 years ago

Seems this board is not being checked very often :(

I set up a remote debug session and saw that the truncation was due to a 1024 character concatenation issue when executing findall() in VariantGroupCombinationRepository.

To fix you need to add something like: [mysqld] group_concat_max_len=100000

to your mysql.cnf file.