Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'lccphoto.craft_seomatic_metabundles' doesn't exist #8

Closed
ademers opened this issue Mar 13, 2018 · 12 comments
Assignees
Labels

Comments

@ademers
Copy link

ademers commented Mar 13, 2018

Hi Andrew,

I'm getting the following error in CP & and front-end when trying to install via plugin store on a site recently upgraded from C2:

PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'lccphoto.craft_seomatic_metabundles' doesn't exist in /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/db/Command.php:1255
Stack trace:
#0 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/db/Command.php(1255): PDOStatement->execute()
#1 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/db/Command.php(1145): yii\db\Command->internalExecute('SELECT *\nFROM `...')
#2 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/db/Command.php(410): yii\db\Command->queryInternal('fetch', NULL)
#3 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/db/Query.php(274): yii\db\Command->queryOne()
#4 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/db/Query.php(152): yii\db\Query->one(NULL)
#5 /home/vagrant/sites/lccphoto/vendor/nystudio107/craft-seomatic/src/services/MetaBundles.php(102): craft\db\Query->one()
#6 /home/vagrant/sites/lccphoto/vendor/nystudio107/craft-seomatic/src/services/FrontendTemplates.php(89): nystudio107\seomatic\services\MetaBundles->getGlobalMetaBundle(1)
#7 /home/vagrant/sites/lccphoto/vendor/nystudio107/craft-seomatic/src/Seomatic.php(458): nystudio107\seomatic\services\FrontendTemplates->loadFrontendTemplateContainers()
#8 /home/vagrant/sites/lccphoto/vendor/nystudio107/craft-seomatic/src/Seomatic.php(216): nystudio107\seomatic\Seomatic->handleSiteRequest()
#9 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/base/BaseObject.php(109): nystudio107\seomatic\Seomatic->init()
#10 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/base/Module.php(158): yii\base\BaseObject->__construct(Array)
#11 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/base/Plugin.php(87): yii\base\Module->__construct('seomatic', Object(craft\web\Application), Array)
#12 [internal function]: craft\base\Plugin->__construct('seomatic', Object(craft\web\Application), Array)
#13 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/di/Container.php(383): ReflectionClass->newInstanceArgs(Array)
#14 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build('nystudio107\seo...', Array, Array)
#15 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->get('nystudio107\seo...', Array, Array)
#16 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/services/Plugins.php(757): yii\BaseYii::createObject(Array, Array)
#17 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/services/Plugins.php(193): craft\services\Plugins->createPlugin('seomatic', Array)
#18 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/base/ApplicationTrait.php(1135): craft\services\Plugins->loadPlugins()
#19 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/web/Application.php(92): craft\web\Application->_init()
#20 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/base/BaseObject.php(109): craft\web\Application->init()
#21 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/base/Application.php(206): yii\base\BaseObject->__construct(Array)
#22 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/web/Application.php(82): yii\base\Application->__construct(Array)
#23 [internal function]: craft\web\Application->__construct(Array)
#24 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/di/Container.php(383): ReflectionClass->newInstanceArgs(Array)
#25 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build('craft\web\Appli...', Array, Array)
#26 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->get('craft\web\Appli...', Array, Array)
#27 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/bootstrap/bootstrap.php(249): yii\BaseYii::createObject(Array)
#28 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/bootstrap/web.php(42): require('/home/vagrant/s...')
#29 /home/vagrant/sites/lccphoto/web/index.php(20): require('/home/vagrant/s...')
#30 {main}

Next yii\db\Exception: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'lccphoto.craft_seomatic_metabundles' doesn't exist
The SQL being executed was: SELECT *
FROM craft_seomatic_metabundles
WHERE (sourceBundleType='GLOBAL_BUNDLE') AND (sourceSiteId=1)
LIMIT 1 in /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/db/Schema.php:664
Stack trace:
#0 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/db/Command.php(1260): yii\db\Schema->convertException(Object(PDOException), 'SELECT *\nFROM ...') #1 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/db/Command.php(1145): yii\db\Command->internalExecute('SELECT *\nFROM ...')
#2 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/db/Command.php(410): yii\db\Command->queryInternal('fetch', NULL)
#3 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/db/Query.php(274): yii\db\Command->queryOne()
#4 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/db/Query.php(152): yii\db\Query->one(NULL)
#5 /home/vagrant/sites/lccphoto/vendor/nystudio107/craft-seomatic/src/services/MetaBundles.php(102): craft\db\Query->one()
#6 /home/vagrant/sites/lccphoto/vendor/nystudio107/craft-seomatic/src/services/FrontendTemplates.php(89): nystudio107\seomatic\services\MetaBundles->getGlobalMetaBundle(1)
#7 /home/vagrant/sites/lccphoto/vendor/nystudio107/craft-seomatic/src/Seomatic.php(458): nystudio107\seomatic\services\FrontendTemplates->loadFrontendTemplateContainers()
#8 /home/vagrant/sites/lccphoto/vendor/nystudio107/craft-seomatic/src/Seomatic.php(216): nystudio107\seomatic\Seomatic->handleSiteRequest()
#9 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/base/BaseObject.php(109): nystudio107\seomatic\Seomatic->init()
#10 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/base/Module.php(158): yii\base\BaseObject->__construct(Array)
#11 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/base/Plugin.php(87): yii\base\Module->__construct('seomatic', Object(craft\web\Application), Array)
#12 [internal function]: craft\base\Plugin->__construct('seomatic', Object(craft\web\Application), Array)
#13 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/di/Container.php(383): ReflectionClass->newInstanceArgs(Array)
#14 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build('nystudio107\seo...', Array, Array)
#15 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->get('nystudio107\seo...', Array, Array)
#16 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/services/Plugins.php(757): yii\BaseYii::createObject(Array, Array)
#17 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/services/Plugins.php(193): craft\services\Plugins->createPlugin('seomatic', Array)
#18 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/base/ApplicationTrait.php(1135): craft\services\Plugins->loadPlugins()
#19 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/web/Application.php(92): craft\web\Application->_init()
#20 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/base/BaseObject.php(109): craft\web\Application->init()
#21 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/base/Application.php(206): yii\base\BaseObject->__construct(Array)
#22 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/src/web/Application.php(82): yii\base\Application->__construct(Array)
#23 [internal function]: craft\web\Application->__construct(Array)
#24 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/di/Container.php(383): ReflectionClass->newInstanceArgs(Array)
#25 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build('craft\web\Appli...', Array, Array)
#26 /home/vagrant/sites/lccphoto/vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->get('craft\web\Appli...', Array, Array)
#27 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/bootstrap/bootstrap.php(249): yii\BaseYii::createObject(Array)
#28 /home/vagrant/sites/lccphoto/vendor/craftcms/cms/bootstrap/web.php(42): require('/home/vagrant/s...')
#29 /home/vagrant/sites/lccphoto/web/index.php(20): require('/home/vagrant/s...')
#30 {main}
Additional Information:
Array
(
[0] => 42S02
[1] => 1146
[2] => Table 'lccphoto.craft_seomatic_metabundles' doesn't exist
)

@khalwat
Copy link
Collaborator

khalwat commented Mar 13, 2018

So I think the reason for this is that it already knew the plugin was installed, so it doesn't run the install migration.

@khalwat
Copy link
Collaborator

khalwat commented Mar 14, 2018

This should take care of it for you @ademers

https://github.com/nystudio107/craft-seomatic/releases/tag/3.0.0-beta.3

@khalwat khalwat closed this as completed Mar 14, 2018
@khalwat khalwat reopened this Mar 14, 2018
@khalwat
Copy link
Collaborator

khalwat commented Mar 14, 2018

Let me know how you go...

@khalwat khalwat added the bug label Mar 14, 2018
@ademers
Copy link
Author

ademers commented Mar 14, 2018

I ran composer update nystudio107/craft-seomatic

Output:

vagrant@homestead:~/sites/lccphoto$ composer update nystudio107/craft-seomatic
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Updating nystudio107/craft-seomatic (3.0.0-beta.2 => 3.0.0-beta.3): Downloading (100%)         
Writing lock file
Generating optimized autoload files
vagrant@homestead:~/sites/lccphoto$ 

I'm still getting the same DB error. I think I need to uninstall SEOmatic first. If so, what is the best way to do this? If not, how should I proceed?

@khalwat
Copy link
Collaborator

khalwat commented Mar 14, 2018

Go to /admin -- there should be a pending migration to run?

@ademers
Copy link
Author

ademers commented Mar 14, 2018

Do you mean the site's CP http://example.test/admin/? If so, I can't gain access since the error always appears.

@khalwat
Copy link
Collaborator

khalwat commented Mar 14, 2018

So if you do this from your project root:

ls -al vendor/nystudio107/craft-seomatic/src/migrations/

Do you see this file?

m180314_002756_base_install.php

This is a new migration that should run when you hit the AdminCP.

@ademers
Copy link
Author

ademers commented Mar 14, 2018

Yes, I see the file m180314_002756_base_install.php in vendor/nystudio107/craft-seomatic/src/migrations/. However, I can't load CP or front-end without seeing error.

@khalwat
Copy link
Collaborator

khalwat commented Mar 14, 2018

Yeah, I figured out what's wrong. It's ugly and gory, but if you're curious, you can read about it in #craft3

I'll have a beta build out soon-ish that will fix it.

@khalwat
Copy link
Collaborator

khalwat commented Mar 15, 2018

@khalwat khalwat self-assigned this Mar 15, 2018
@khalwat
Copy link
Collaborator

khalwat commented Mar 15, 2018

My fingers are crossed @ademers ->

https://github.com/nystudio107/craft-seomatic/releases/tag/3.0.0-beta.6

In the test environment I set up to simulate yours, anyway, it works.

@ademers
Copy link
Author

ademers commented Mar 15, 2018

All works as expected now. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants