1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Fixed Error importing polls (from IPS4)

Discussion in 'Resolved Bug Reports' started by Nathanial B., Jan 28, 2016.

  1. Nathanial B.

    Nathanial B. New Member

    Hello!
    I've been spending the past several hours doing a test migration from IPS 4. The last step I'm on is importing polls. I get the following errors when attempting to import polls:

    Code:
    Server Error
    
    Mysqli prepare error: Unknown column 'polls.tid' in 'on clause'
    
    Zend_Db_Statement_Mysqli->_prepare() in Zend/Db/Statement.php at line 115
    Zend_Db_Statement->__construct() in Zend/Db/Adapter/Mysqli.php at line 381
    Zend_Db_Adapter_Mysqli->prepare() in Zend/Db/Adapter/Abstract.php at line 478
    Zend_Db_Adapter_Abstract->query() in Zend/Db/Adapter/Abstract.php at line 734
    Zend_Db_Adapter_Abstract->fetchAll() in XenForo/Importer/IPBoard40x.php at line 1556
    XenForo_Importer_IPBoard40x->_getPolls() in XenForo/Importer/IPBoard.php at line 2937
    XenForo_Importer_IPBoard->stepPolls() in XenForo/Importer/IPBoard40x.php at line 1539
    XenForo_Importer_IPBoard40x->stepPolls() in XenForo/Importer/Abstract.php at line 97
    XenForo_Importer_Abstract->runStep() in XenForo/ControllerAdmin/Import.php at line 189
    XenForo_ControllerAdmin_Import->_runStep() in XenForo/ControllerAdmin/Import.php at line 241
    XenForo_ControllerAdmin_Import->_startStep() in XenForo/ControllerAdmin/Import.php at line 184
    XenForo_ControllerAdmin_Import->actionStartStep() in XenForo/FrontController.php at line 351
    XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 134
    XenForo_FrontController->run() in /home/[redacted]/public_html/xenforo/admin.php at line 13
    Any suggestions would be appreciated :)
    Thank you!
     
  2. Chris D

    Chris D XenForo Developer Staff Member

    In all of the IPS test data I have, I can't see why you would be getting this problem.

    What's the exact IPS version you're importing from?

    If you run the following query on the IPS database, what is the output?
    Code:
    SHOW CREATE TABLE core_polls
    You may need to prepend your database prefix to the table name if you have one.
     
  3. Nathanial B.

    Nathanial B. New Member

    Hi Chris, thanks for the fast response.

    The version we're running is the latest version, 4.1.7.

    If I did this correctly, this is the output:

    Code:
    CREATE TABLE `core_polls` (
     `pid` mediumint(8) NOT NULL AUTO_INCREMENT,
     `start_date` int(10) DEFAULT NULL,
     `choices` text COLLATE utf8mb4_unicode_ci,
     `starter_id` mediumint(8) NOT NULL DEFAULT '0',
     `votes` mediumint(9) NOT NULL DEFAULT '0',
     `poll_question` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
     `poll_only` tinyint(1) NOT NULL DEFAULT '0',
     `poll_view_voters` int(1) NOT NULL DEFAULT '0',
     PRIMARY KEY (`pid`)
    ) ENGINE=MyISAM AUTO_INCREMENT=455 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
    
    I never used a database prefix from what I recall.

    Please let me know if there's any further information I can provide you with.
     
  4. Chris D

    Chris D XenForo Developer Staff Member

    I'm still looking into this.

    The output of that query suggests they may have changed the database schema in a recent version, but we've had successful imports from versions not much older than yours so it is somewhat confusing.

    I suppose an important question is: If you go onto your IPS 4.1 board now, can you view, edit and create polls correctly?

    Also aside from the core_polls and core_voters tables, do you see any other tables which may be related to polls?
     
    Last edited: Jan 28, 2016
  5. Nathanial B.

    Nathanial B. New Member

    Yes, I can do all of that just fine on our IPS 4.1 install.

    I looked through, and I'm not finding anything that looks like it can be related. Would it help if I gave you access to the database privately?

    I also created a fresh install locally of IPS 4.1 (same latest version as our live install), created a couple of forums and made a poll, and then did a local install of Xenforo and tried the import. It again fails on importing polls with the same error messages as indicated in my first post.
    However, when running the SQL query you told me locally, this is what is kicked back:

    Code:
    CREATE TABLE `core_polls` (
    `pid` mediumint(8) N...
    Not sure if that helps at all, but I think it's true that something changed in the latest version of IPS 4?
     
    Last edited: Jan 28, 2016
  6. Chris D

    Chris D XenForo Developer Staff Member

    I think I can see the change they've made now.

    Thanks for your help up to now.

    This is something we need to make changes for. I'll see what's involved and I'll let you know as soon as I have a solution.
     
  7. Chris D

    Chris D XenForo Developer Staff Member

    If polls is the last step, which I think it is, then you could in theory go live without them (just don't actually click the "Complete" button on the import screen) and finish importing them once this is resolved. Just an option in case you're in a rush to go live :)
     
  8. Nathanial B.

    Nathanial B. New Member

    We're not in a rush to go live yet, so no worries if it takes time. If you need me to test any changes done, please let me know :)

    Thanks for all of your help!
     
  9. Chris D

    Chris D XenForo Developer Staff Member

    This is fixed for the next release.

    Thanks for testing!
     

Share This Page