Duplicate Having an empty value when transferring resources

Osman

Active member
LogicException: Column 'scheme_class' is required and has an empty value while importing source with id = src/XF/Import/Data/EntityEmulator.php:162

Code:
Stack trace
#0 src/XF/Import/Data/EntityEmulator.php(203): XF\Import\Data\EntityEmulator->getWriteData()
#1 src/XF/Import/Data/User.php(200): XF\Import\Data\EntityEmulator->insert(false, Object(XF\Db\Mysqli\Adapter))
#2 src/XF/Import/Data/AbstractData.php(97): XF\Import\Data\User->write(3)
#3 src/XF/Import/Helper.php(107): XF\Import\Data\AbstractData->save(3)
#4 src/XF/Import/Importer/AbstractCoreImporter.php(107): XF\Import\Helper->importUser(3, Object(XF\Import\Data\User), Array)
#5 src/XF/Import/Importer/XenForo2.php(399): XF\Import\Importer\AbstractCoreImporter->importUser(3, Object(XF\Import\Data\User), Array)
#6 src/XF/Import/Runner.php(161): XF\Import\Importer\XenForo2->stepUsers(Object(XF\Import\StepState), Array, 8)
#7 src/XF/Import/Runner.php(75): XF\Import\Runner->runStep('users', Object(XF\Import\StepState), 8)
#8 src/XF/Admin/Controller/Import.php(231): XF\Import\Runner->run()
#9 src/XF/Mvc/Dispatcher.php(249): XF\Admin\Controller\Import->actionRun(Object(XF\Mvc\ParameterBag))
#10 src/XF/Mvc/Dispatcher.php(88): XF\Mvc\Dispatcher->dispatchClass('XF:Import', 'Run', 'html', Object(XF\Mvc\ParameterBag), 'importData', Object(XF\Admin\Controller\Import), NULL)
#11 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#12 src/XF/App.php(1852): XF\Mvc\Dispatcher->run()
#13 src/XF.php(328): XF\App->run()
#14 admin.php(13): XF::runApp('XF\\Admin\\App')
#15 {main}


Request state
array(4) {
  ["url"] => string(29) "/***/admin.php?import/run"
  ["referrer"] => string(52) "https://www.*******/admin.php?import/run"
  ["_GET"] => array(1) {
    ["import/run"] => string(0) ""
  }
  ["_POST"] => array(1) {
    ["_xfToken"] => string(8) "********"
  }
}
error.png


I get this error during update. Can I get any help in this regard?
 
Last edited:

Osman

Active member
It only transfers the first two members then it gives this error. What's wrong here?
 

Chris D

XenForo developer
Staff member
I’ve not exactly looked at the code here but I suspect it could be a bug. We’ll take a look.
 

Chris D

XenForo developer
Staff member
Still not got code in front of me but scheme_class is related to authentication handlers I think.
SQL:
SELECT *
FROM xf_user_authenticate
WHERE scheme_class = ''
Does that return any records? How many? Equally it could be a user who doesn’t have an entry at all in which case that query might not work but there may be another which will sort it.
 

Mike

XenForo developer
Staff member
I'd note that both of those situations are really issues that would be caused by something happening outside of XF, as those users wouldn't be considered valid (they wouldn't be able to login certainly).

Though it would be better if the importer can handle it in a better way (there's actually an open bug about this particular style of error already).
 

Osman

Active member
There may be a problem caused by user upgrade.
I used only xen product manager add-on. Who has a customer account group customer has scheme_class problem.
I think we have to solve this problem do you have any work in progress about this problem
 

Chris D

XenForo developer
Staff member
I'm pretty sure that would be a coincidence. Xen Product Manager doesn't touch anything related to user authentication records. It simply adds a temporary user change record, specifically a user group change.

Unless you've got some additional custom code there, I'm not sure it's related.
 

Mike

XenForo developer
Staff member
So this is generally going to fall under the change here: https://xenforo.com/community/threads/error-importing-from-2-0-beta7-to-2-0-beta7.135939/ That will normally prevent the error, though an empty scheme_class isn't something that's valid in XF1 and it's not something you'd be able to save via the data writer there. Thus, I have to assume that some invalid data was inserted there and the ideal approach would probably be to resolve that within the database directly.
 
Top