"Missing required argument $options" After migration from magento 1.9.2.4 to 2.1.3
Go to file var/www/html/vendor/magento/module-customer/Model/Config.php
Change to line 26 it will give detail description about error
public function __construct(array $options)
to
public function __construct($options)
Detail error description
Exception #0 (Magento\Framework\Exception\LocalizedException): No options found.
#0 /var/www/html/vendor/magento/module-customer/Model/AttributeMetadataConverter.php(66): Magento\Eav\Model\Entity\Attribute\Source\Config->getAllOptions()
#1 /var/www/html/vendor/magento/module-customer/Model/Metadata/CustomerMetadata.php(77): Magento\Customer\Model\AttributeMetadataConverter->createMetadataAttribute(Object(Magento\Customer\Model\Attribute))
#2 /var/www/html/vendor/magento/module-customer/Model/Metadata/CustomerMetadata.php(109): Magento\Customer\Model\Metadata\CustomerMetadata->getAttributeMetadata('assigned_sales_...')
.
.
etc
Then from that description take
#0 /var/www/html/vendor/magento/module-customer/Model/AttributeMetadataConverter.php(66):
Go to above file enter following code before line 66
echo '<pre>';
print_r($attribute->getData());
Then I get list of attribute_ids and see after which attribute_id error is comming take that one.
So I get attribute_id 150 who doesn't getting options.
So I'm not using that attribute_id so i have remove it..
Now my problem is solved and I can see my all migrated customers.
Please revert back all changes made in core files.
I used this solution to solve the problem
- open phpmyadmin
- open 'customer_eav_attribute' table
- find out what attributes are imported looking at rows id
as you can see from id 40 there is a large gap before next id
- export a table backup ( so you can rollback if needed )
- delete attributes that are imported but not well applied
in my specific case deleting rows with id 146,285,286,+ has solved the problem