After the product conversion the weight is visible in the backend on the product page. However it cannot be changed. It can only be changed using the action tab “update attributes”. After that it becomes also visible on the product overview page and it becomes available for shipping extensions.
33 answers
Hi jukebox-revival,
Let’s try follow our video guide to re-setting your Attribute Sets migrated: https://www.ubertheme.com/docs/magento-2-data-migration-product-attribute-configuration/#vid
And then tell me know how about the issue as you mentioned with weight attribute.
Regards,
Mall.
I have done that already. And everythings seems to work acceot for the weight. When I change the product weight using the action tab “update attributes” on the catalog products page they are update with the right weight and then you can change them in the products page and see them in the catalog.
Hi jukebox-revival,
So, do you need more help from us?
Can you tell me what is the version of your Magento1 and Magento2 in your working?
Regards,
Mall.
The versionare 1.9.3.1 and 2.1.3
Hi jukebox-revival,
Yeah, the issue as you mentioned with the weight attribute of your products in your context is a strangle issue.
We haven’t get that issue with the same context with you (Magento 1.9.3.1 and Magento 2.1.3) yet.
So please do as you do with your case to solve the issue.
Also, are you sure you have done with all needed settings for your Attribute Sets migrated as our video guide at: https://www.ubertheme.com/docs/magento-2-data-migration-product-attribute-configuration/#vid
Let’s contact me if you need further assistance.
Regards,
Mall.
Yes, the attribute set is correct. the weight is converted because I can see it on the product page. I just can change it on the product page and it is not visible on the catalog page. It also is not used in shipping. In the flat tables in the database it is empty also.
So I do not know where the conversion put it.
If I chnage it (to the same value) by the update attribute function it works ok and then I can change it in the product page and it becomes visible on the catalog page and in the shipping contributions
Maybe this has aomething to do with it:
In my Magento 1.9 the attribute code for weight is 101 and iti is stored in catalog_product_entity_varchar.
However is is coverted to attribute code 82 and stored in catalog_product_entity_int
I think it is transfered to the wrong table in Magento 2 !!
Hi jukebox-revival,
In my Magento 1.9 the attribute code for weight is 101 and iti is stored in catalog_product_entity_varchar.
It is a strangle case. Normally, the value of attribute code weight` with id = 80. It’s values stored in table catalog_product_entity_decimal.
You can see this:
http://i.prntscr.com/1f59c8439a8c47a0b3d1c78a95324427.png
http://i.prntscr.com/be52a95bf39040d7a32b80f55631a322.png
Please have a look again.
Regards,
Mall.
No, In magento 2 the weight is attribute 82 just like I said. But there is something strange in Magento 1. In the table EAV_ATTRIBUTE there are severall attribute_id with attribute_code WEIGHT. But these have different backend_types. However in catalog_product_entity_varchar I can only find the “real”one with ID 101 ???
Hi jukebox-revival,
I think your Magento 1 database has some customized. To help me clear more information about your working.
Let’s provide me the admin and SSH credentials, web root path of your Magento2 and phpmyadmin credentials of your Magento1 and Magento2 databases.
Regards,
Mall.
Hi jukebox-revival,
No, In magento 2 the weight is attribute 82 just like I said.
I have checked your Magento2 database and i see that is right. And this attribute was stored normally as Magento2 default.
http://i.prntscr.com/c1dc0c471fdb44159e9a84cd87ba76eb.png
Magento 1. In the table EAV_ATTRIBUTE there are severall attribute_id with attribute_code WEIGHT. But these have different backend_types.
I can’t see the strangle issue as you said because i don’t have access to your Magento1 database now.
Regards,
Mall.
Yes. That is correct but the weight is coverted to catalog_product_entity_varchar !!
In mgento 1 it is correct. the weight is varchar in EAV_ATTRIBUTE and the calues for each product are in catalog_product_entity_varchar.
So again there is something gone wrong in the conversion
This is how the table is in magento 1:
522
14
weight
NULL
decimal
text
NULL
1
0
0
Wijzigen
Kopiëren
Verwijderen
316
12
weight
NULL
static
text
NULL
1
0
0
Wijzigen
Kopiëren
Verwijderen
350
15
weight
NULL
static
text
NULL
1
0
0
Wijzigen
Kopiëren
Verwijderen
101
10
weight
NULL
varchar
weight
Gewicht
1
1
1
0
Wijzigen
Kopiëren
Verwijderen
630
25
weight
NULL
decimal
text
NULL
1
0
0
Wijzigen
Kopiëren
Verwijderen
642
27
weight
NULL
decimal
text
NULL
1
0
0
Wijzigen
Kopiëren
Verwijderen
196
4
weight
NULL
decimal
text
NULL
1
0
0
Wijzigen
Kopiëren
Verwijderen
234
7
weight
NULL
decimal
text
NULL
1
0
0
Wijzigen
Kopiëren
Verwijderen
918
29
weee_tax_row
Hi Jukebox-revival,
I see your concern when sharing M1 database access to us. However, it’s hard to detect the root of issue without having a closer look into your M1 database.
In mgento 1 it is correct. the weight is varchar in EAV_ATTRIBUTE and the calues for each product are in catalog_product_entity_varchar.
As explained in our team member Mall’s previous ticket, it appears your M1 database structure had custom change beyond default M1 structure. This works in M1, yet might cause conflict which is not allowed in M2 database structure.
Anyway, please help to capture the screenshot of the row of the `weight` attribute in the `eav_attribute` table. We will try to check as far as we can. As our forum helpdesk does not allow to attached file, kindly send the screenshot to our email info (at) ubertheme.com.
This is how the table is in magento 1:
…
The information you provided is not sufficient for us to debug.
Our tool does not change the structure of your M1 data, we simply port the whole database to M2. The issue here might come from your non-standard M1 database which differs from M2 standard structure.
Thanks for your understanding.
Regards,
An Nguyen
Hello,
Again. The problem is not in Magento 1. There are no changes to the datamodel in M1. I already tried to put the structure of that table in my previous answer but it is not possible to add att. to this system (would have saved us a few days work if it was possible). Do you have an email address I can send it to.
The only problem is that the weight is converted to the wrong table.
Hi there,
It seems you missed the email I mentioned in my previous post. Please send us the screenshots to info(at)ubertheme.com.
Thanks,
An Nguyen
Hi jukebox-revival,
I have checked the M1 screenshots you provided and see the attribute weight with id 101 (its entity_type_id’s value is 10) as you mentioned. This is your custom attribute (The standard weight attribute of default Magento 1 comes with id ‘196’ in your case)
Please help to clarify what is the Entity Type Name with entity_type_id = 10 in your Magento 1 database?
Regards,
Mall.
Hello,
it is catalg/product.
I have sent a screeshot by email.
Hi there,
I have sent a screeshot by email.
Yeah, i see that. That is a customized data structure.
For that case, you can manual update the the record with attribute weight in the eav_attribute table to values like as your M1 database.
If you want to take your custom settings with your weight attribute in your Magento2. you can do steps as bellow:
(But please note that is not standard settings of the weight attribute as Magento 2 default)
Step 1: Reset all steps of our tool.
Step 2: Run bellow sql in your Magento2 database:
Update eav_attribute Set code = ‘weight_default’ Where attribute_code = ‘weight’;
Step 3: Restart data migration with all steps with our tool.
And tell me know how it goes.
Regards,
Mall.
I would prefer to go to the standard M2 settings. Is there a sql query I could perform after the conversion that “moves”the weight to the right table and attribute?
Hello,
I now get many error:
Mage2CatalogProductEntityDecimal: Value is too long (maximum is 12 characters).
Seems we have to shorten the value in some way
Hi there,
Mage2CatalogProductEntityDecimal: Value is too long (maximum is 12 characters).
Seems we have to shorten the value in some way
That comes from your data in M1 is bad with new rules of the Magento2.
To handle that, you can do as bellow:
Open the php file at the path: pub/ub-tool/protected/controllers/Step5Controller.php
and find to the code lines:
if ($table == 'catalog_product_entity_int') {
and replace it by code lines:
if ($table == 'catalog_product_entity_decimal') {
$model2->value = trim($model2->value);
if (strlen($model2->value) > 12) {
$model2->value = substr($model2->value, 0, 12);
}
} else if ($table == 'catalog_product_entity_int') {
And reset data migration in step #5 and restart data migration in this step.
Regards,
Mall.
Changed that but still get the same error:
Mage2CatalogProductEntityDecimal: Value is too long (maximum is 12 characters).
Thanks for all the effort. Everything looks ok now!
Hi jukebox-revival
Yeah, let’s contact me if you need further assistance.
Regards,
Mall.
On th ebackend everything seems ok but the front end is not working anymore. I have reindexed and clean the cache but I get this error on the frontend:
Exception #0 (Magento\Framework\Exception\NoSuchEntityException): No such entity with groupId = 5, storeId = 2 Exception #0 (Magento\Framework\Exception\NoSuchEntityException): No such entity with groupId = 5, storeId = 2 #0 /home/jukeboxs/public_html/vendor/magento/module-customer/Model/GroupManagement.php(131): Magento\Framework\Exception\NoSuchEntityException::doubleField('groupId', '5', 'storeId', '2') #1 /home/jukeboxs/public_html/var/generation/Magento/Customer/Api/GroupManagementInterface/Proxy.php(103): Magento\Customer\Model\GroupManagement->getDefaultGroup('2') #2 /home/jukeboxs/public_html/vendor/magento/module-tax/Model/Calculation.php(270): Magento\Customer\Api\GroupManagementInterface\Proxy->getDefaultGroup('2') #3 /home/jukeboxs/public_html/vendor/magento/module-tax/Model/Calculation.php(448): Magento\Tax\Model\Calculation->getDefaultCustomerTaxClass('2') #4 /home/jukeboxs/public_html/vendor/magento/module-tax/Model/Calculation.php(416): Magento\Tax\Model\Calculation->getRateOriginRequest('2') #5 /home/jukeboxs/public_html/vendor/magento/module-tax/Model/Calculation/UnitBaseCalculator.php(42): Magento\Tax\Model\Calculation->getStoreRate(Object(Magento\Framework\DataObject), '2') #6 /home/jukeboxs/public_html/vendor/magento/module-tax/Model/Calculation/AbstractCalculator.php(221): Magento\Tax\Model\Calculation\UnitBaseCalculator->calculateWithTaxInPrice(Object(Magento\Tax\Model\Sales\Quote\ItemDetails), 1, false) #7 /home/jukeboxs/public_html/vendor/magento/module-tax/Model/TaxCalculation.php(284): Magento\Tax\Model\Calculation\AbstractCalculator->calculate(Object(Magento\Tax\Model\Sales\Quote\ItemDetails), 1, false) #8 /home/jukeboxs/public_html/vendor/magento/module-tax/Model/TaxCalculation.php(186): Magento\Tax\Model\TaxCalculation->processItem(Object(Magento\Tax\Model\Sales\Quote\ItemDetails), Object(Magento\Tax\Model\Calculation\UnitBaseCalculator), false) #9 /home/jukeboxs/public_html/vendor/magento/module-catalog/Helper/Data.php(585): Magento\Tax\Model\TaxCalculation->calculateTax(Object(Magento\Tax\Model\Sales\Quote\QuoteDetails), '2', false) #10 /home/jukeboxs/public_html/vendor/magento/module-tax/Pricing/Adjustment.php(102): Magento\Catalog\Helper\Data->getTaxPrice(Object(Magento\Catalog\Model\Product\Interceptor), 459, false, NULL, NULL, NULL, Object(Magento\Store\Model\Store\Interceptor), true, false) #11 /home/jukeboxs/public_html/vendor/magento/framework/Pricing/Adjustment/Calculator.php(59): Magento\Tax\Pricing\Adjustment->extractAdjustment(459, Object(Magento\Catalog\Model\Product\Interceptor), Array) #12 /home/jukeboxs/public_html/vendor/magento/framework/Pricing/Price/AbstractPrice.php(99): Magento\Framework\Pricing\Adjustment\Calculator->getAmount(459, Object(Magento\Catalog\Model\Product\Interceptor)) #13 /home/jukeboxs/public_html/vendor/magento/module-catalog/Pricing/Render/FinalPriceBox.php(132): Magento\Framework\Pricing\Price\AbstractPrice->getAmount() #14 /home/jukeboxs/public_html/vendor/magento/module-catalog/view/base/templates/product/price/final_price.phtml(26): Magento\Catalog\Pricing\Render\FinalPriceBox->hasSpecialPrice() #15 /home/jukeboxs/public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/home/jukeboxs/...') #16 /home/jukeboxs/public_html/vendor/magento/framework/View/Element/Template.php(255): Magento\Framework\View\TemplateEngine\Php->render(Object(Magento\Catalog\Pricing\Render\FinalPriceBox\Interceptor), '/home/jukeboxs/...', Array) #17 /home/jukeboxs/public_html/vendor/magento/framework/View/Element/Template.php(279): Magento\Framework\View\Element\Template->fetchView('/home/jukeboxs/...') #18 /home/jukeboxs/public_html/vendor/magento/framework/Pricing/Render/PriceBox.php(69): Magento\Framework\View\Element\Template->_toHtml() #19 /home/jukeboxs/public_html/vendor/magento/module-catalog/Pricing/Render/FinalPriceBox.php(62): Magento\Framework\Pricing\Render\PriceBox->_toHtml() #20 /home/jukeboxs/public_html/vendor/magento/framework/View/Element/AbstractBlock.php(659): Magento\Catalog\Pricing\Render\FinalPriceBox->_toHtml() #21 /home/jukeboxs/public_html/vendor/magento/framework/Pricing/Render.php(99): Magento\Framework\View\Element\AbstractBlock->toHtml() #22 /home/jukeboxs/public_html/vendor/magento/module-catalog/Block/Product/ListProduct.php(364): Magento\Framework\Pricing\Render->render('final_price', Object(Magento\Catalog\Model\Product\Interceptor), Array) #23 /home/jukeboxs/public_html/vendor/magento/module-catalog/view/frontend/templates/product/list.phtml(73): Magento\Catalog\Block\Product\ListProduct->getProductPrice(Object(Magento\Catalog\Model\Product\Interceptor)) #24 /home/jukeboxs/public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/home/jukeboxs/...') #25 /home/jukeboxs/public_html/vendor/magento/framework/View/Element/Template.php(255): Magento\Framework\View\TemplateEngine\Php->render(Object(Magento\Catalog\Block\Product\ListProduct\Interceptor), '/home/jukeboxs/...', Array) #26 /home/jukeboxs/public_html/vendor/magento/framework/View/Element/Template.php(279): Magento\Framework\View\Element\Template->fetchView('/home/jukeboxs/...') #27 /home/jukeboxs/public_html/vendor/magento/framework/View/Element/AbstractBlock.php(659): Magento\Framework\View\Element\Template->_toHtml() #28 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(542): Magento\Framework\View\Element\AbstractBlock->toHtml() #29 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(518): Magento\Framework\View\Layout->_renderBlock('category.produc...') #30 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('category.produc...') #31 /home/jukeboxs/public_html/vendor/magento/framework/View/Element/AbstractBlock.php(499): Magento\Framework\View\Layout->renderElement('category.produc...', true) #32 /home/jukeboxs/public_html/vendor/magento/module-catalog/Block/Category/View.php(98): Magento\Framework\View\Element\AbstractBlock->getChildHtml('product_list') #33 /home/jukeboxs/public_html/vendor/magento/module-catalog/view/frontend/templates/category/products.phtml(18): Magento\Catalog\Block\Category\View->getProductListHtml() #34 /home/jukeboxs/public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/home/jukeboxs/...') #35 /home/jukeboxs/public_html/vendor/magento/framework/View/Element/Template.php(255): Magento\Framework\View\TemplateEngine\Php->render(Object(Magento\Catalog\Block\Category\View), '/home/jukeboxs/...', Array) #36 /home/jukeboxs/public_html/vendor/magento/framework/View/Element/Template.php(279): Magento\Framework\View\Element\Template->fetchView('/home/jukeboxs/...') #37 /home/jukeboxs/public_html/vendor/magento/framework/View/Element/AbstractBlock.php(659): Magento\Framework\View\Element\Template->_toHtml() #38 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(542): Magento\Framework\View\Element\AbstractBlock->toHtml() #39 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(518): Magento\Framework\View\Layout->_renderBlock('category.produc...') #40 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('category.produc...') #41 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('category.produc...') #42 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('content') #43 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('content') #44 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('content') #45 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('main') #46 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('main') #47 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('main') #48 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('columns') #49 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('columns') #50 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('columns') #51 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('main.content') #52 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('main.content') #53 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('main.content') #54 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('page.wrapper') #55 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('page.wrapper') #56 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('page.wrapper') #57 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('root') #58 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('root') #59 /home/jukeboxs/public_html/vendor/magento/framework/View/Layout.php(938): Magento\Framework\View\Layout->renderElement('root') #60 /home/jukeboxs/public_html/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Layout->getOutput() #61 /home/jukeboxs/public_html/var/generation/Magento/Framework/View/Layout/Interceptor.php(39): Magento\Framework\View\Layout\Interceptor->___callPlugins('getOutput', Array, Array) #62 /home/jukeboxs/public_html/vendor/magento/framework/View/Result/Page.php(243): Magento\Framework\View\Layout\Interceptor->getOutput() #63 /home/jukeboxs/public_html/vendor/magento/framework/View/Result/Layout.php(164): Magento\Framework\View\Result\Page->render(Object(Magento\Framework\App\Response\Http\Interceptor)) #64 /home/jukeboxs/public_html/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\View\Result\Layout->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor)) #65 /home/jukeboxs/public_html/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\View\Result\Page\Interceptor->___callParent('renderResult', Array) #66 /home/jukeboxs/public_html/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'renderResult', Object(Magento\Framework\View\Result\Page\Interceptor), Array, 'result-varnish-...') #67 /home/jukeboxs/public_html/vendor/magento/module-page-cache/Model/Controller/Result/VarnishPlugin.php(74): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Response\Http\Interceptor)) #68 /home/jukeboxs/public_html/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\PageCache\Model\Controller\Result\VarnishPlugin->aroundRenderResult(Object(Magento\Framework\View\Result\Page\Interceptor), Object(Closure), Object(Magento\Framework\App\Response\Http\Interceptor)) #69 /home/jukeboxs/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'renderResult', Object(Magento\Framework\View\Result\Page\Interceptor), Array, 'result-builtin-...') #70 /home/jukeboxs/public_html/vendor/magento/module-page-cache/Model/Controller/Result/BuiltinPlugin.php(67): Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Response\Http\Interceptor)) #71 /home/jukeboxs/public_html/vendor/magento/framework/Interception/Interceptor.php(142): Magento\PageCache\Model\Controller\Result\BuiltinPlugin->aroundRenderResult(Object(Magento\Framework\View\Result\Page\Interceptor), Object(Closure), Object(Magento\Framework\App\Response\Http\Interceptor)) #72 /home/jukeboxs/public_html/var/generation/Magento/Framework/View/Result/Page/Interceptor.php(26): Magento\Framework\View\Result\Page\Interceptor->___callPlugins('renderResult', Array, Array) #73 /home/jukeboxs/public_html/vendor/magento/framework/App/Http.php(139): Magento\Framework\View\Result\Page\Interceptor->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor)) #74 /home/jukeboxs/public_html/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch() #75 /home/jukeboxs/public_html/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http)) #76 {main}
Hi there,
That issue related your Customer Groups. Do you migrated all your customer Groups?
Regards,
Mall.
Yes, they are all converted. Some had the wrong TAX class. I corrected that reindex and cleaned the cache but still the same problem.
Hi there,
I corrected that reindex and cleaned the cache but still the same problem.
How did you correct that as you said. I think your custom changed is root of issue as you mentioned.
Please re-check at your end.
Regards,
Mall.
I will start all over again and see if it goes better.
Hi there,
Please go ahead and let us know how it goes.
PS. Our team has a 7 day national festival event starting from 24 Jan, please accept our apology if our reply is a bit longer than normal. We will try to follow up your case within 24 hours though.
Regards,
An Nguyen