Jump to content

Upgrade to 1.7.7.0 fails with database error


Recommended Posts

Welcome,

After a failed attempt to upgrade the store to a new version 1.7.7.0, we used 1 click to recover the store. However, the following problem appeared. Please help with the repair, 

 

[PrestaShopDatabaseException]

Table 'growitbo_sklep.ps_shop_url' doesn't exist<br /><br /><pre>SELECT s.id_shop, CONCAT(su.physical_uri, su.virtual_uri) AS uri, su.domain, su.main FROM ps_shop_url su LEFT JOIN ps_shop s ON (s.id_shop = su.id_shop) WHERE (su.domain = 'growitbox.com' OR su.domain_ssl = 'growitbox.com') AND s.active = 1 AND s.deleted = 0 ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC</pre>
at line 769 in file classes/db/Db.php

764. if ($webservice_call && $errno) { 765. $dbg = debug_backtrace(); 766. WebserviceRequest::getInstance()->setError(500, '

 ' . $this->getMsgError() . '. From ' . (isset($dbg[3]['class']) ? $dbg[3]['class'] : '') . '->' . $dbg[3]['function'] . '() Query was : ' . $sql, 97); 767. } elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) { 768. if ($sql) { 769. throw new PrestaShopDatabaseException($this->getMsgError() . '<br /><br /><pre>' . $sql . '</pre>'); 770. } 771. 772. throw new PrestaShopDatabaseException($this->getMsgError()); 773. } 774. }


DbCore->displayError - [line 385 - classes/db/Db.php] - [1 Arguments]

380. $this->result = $this->_query($sql); 381. } 382. } 383. 384. if (_PS_DEBUG_SQL_) { 385. $this->displayError($sql); 386. } 387. 388. return $this->result; 389. } 390.

DbCore->query - [line 613 - classes/db/Db.php] - [1 Arguments]

608. } 609. 610. return $this->execute($sql, $use_cache); 611. } 612. 613. $this->result = $this->query($sql); 614. 615. if (!$this->result) { 616. $result = false; 617. } else { 618. if (!$array) {

DbCore->executeS - [line 345 - classes/shop/Shop.php] - [1 Arguments]

340. WHERE (su.domain = \'' . pSQL($host) . '\' OR su.domain_ssl = \'' . pSQL($host) . '\') 341. AND s.active = 1 342. AND s.deleted = 0 343. ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC'; 344. 345. $result = Db::getInstance()->executeS($sql); 346. 347. $through = false; 348. foreach ($result as $row) { 349. // An URL matching current shop was found 350. if (preg_match('#^' . preg_quote($row['uri'], '#') . '#i', $request_uri)) {

ShopCore::initialize - [line 119 - config/config.inc.php]

114. 115. $context = Context::getContext(); 116. 117. /* Initialize the current Shop */ 118. try { 119. $context->shop = Shop::initialize(); 120. } catch (PrestaShopException $e) { 121. $e->displayMessage(); 122. } 123. define('_THEME_NAME_', $context->shop->theme->getName()); 124. define('_PARENT_THEME_NAME_', $context->shop->theme->get('parent') ?: '');

require - [line 40 - admin/index.php] - [1 Arguments]

35. 36. if (!defined('PS_ADMIN_DIR')) { 37. define('PS_ADMIN_DIR', _PS_ADMIN_DIR_); 38. } 39. 40. require _PS_ADMIN_DIR_.'/../config/config.inc.php'; 41. 42. //small test to clear cache after upgrade 43. if (Configuration::get('PS_UPGRADE_CLEAR_CACHE')) { 44. header('Cache-Control: max-age=0, must-revalidate'); 45. header('Expires: Mon, 06 Jun 1985 06:06:00 GMT+1');

Share this post


Link to post
Share on other sites
  • 2 months later...

Hello, 

I have exactly the same error, did you found a solution? 

 

[PrestaShopDatabaseException]

Table 'dbs608565.qoqh_shop_url' doesn't exist<br /><br /><pre>SELECT s.id_shop, CONCAT(su.physical_uri, su.virtual_uri) AS uri, su.domain, su.main FROM qoqh_shop_url su LEFT JOIN qoqh_shop s ON (s.id_shop = su.id_shop) WHERE (su.domain = 'xventi.com' OR su.domain_ssl = 'xventi.com') AND s.active = 1 AND s.deleted = 0 ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC</pre>
at line 769 in file classes/db/Db.php

764. if ($webservice_call && $errno) { 765. $dbg = debug_backtrace(); 766. WebserviceRequest::getInstance()->setError(500, '[SQL Error] ' . $this->getMsgError() . '. From ' . (isset($dbg[3]['class']) ? $dbg[3]['class'] : '') . '->' . $dbg[3]['function'] . '() Query was : ' . $sql, 97); 767. } elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) { 768. if ($sql) { 769. throw new PrestaShopDatabaseException($this->getMsgError() . '<br /><br /><pre>' . $sql . '</pre>'); 770. } 771. 772. throw new PrestaShopDatabaseException($this->getMsgError()); 773. } 774. }

DbCore->displayError - [line 385 - classes/db/Db.php] - [1 Arguments]

380. $this->result = $this->_query($sql); 381. } 382. } 383. 384. if (_PS_DEBUG_SQL_) { 385. $this->displayError($sql); 386. } 387. 388. return $this->result; 389. } 390.

Argument [0] SELECT s.id_shop, CONCAT(su.physical_uri, su.virtual_uri) AS uri, su.domain, su.main FROM qoqh_shop_url su LEFT JOIN qoqh_shop s ON (s.id_shop = su.id_shop) WHERE (su.domain = 'xventi.com' OR su.domain_ssl = 'xventi.com') AND s.active = 1 AND s.deleted = 0 ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC

DbCore->query - [line 613 - classes/db/Db.php] - [1 Arguments]

608. } 609. 610. return $this->execute($sql, $use_cache); 611. } 612. 613. $this->result = $this->query($sql); 614. 615. if (!$this->result) { 616. $result = false; 617. } else { 618. if (!$array) {

Argument [0] SELECT s.id_shop, CONCAT(su.physical_uri, su.virtual_uri) AS uri, su.domain, su.main FROM qoqh_shop_url su LEFT JOIN qoqh_shop s ON (s.id_shop = su.id_shop) WHERE (su.domain = 'xventi.com' OR su.domain_ssl = 'xventi.com') AND s.active = 1 AND s.deleted = 0 ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC

DbCore->executeS - [line 345 - classes/shop/Shop.php] - [1 Arguments]

340. WHERE (su.domain = \'' . pSQL($host) . '\' OR su.domain_ssl = \'' . pSQL($host) . '\') 341. AND s.active = 1 342. AND s.deleted = 0 343. ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC'; 344. 345. $result = Db::getInstance()->executeS($sql); 346. 347. $through = false; 348. foreach ($result as $row) { 349. // An URL matching current shop was found 350. if (preg_match('#^' . preg_quote($row['uri'], '#') . '#i', $request_uri)) {

Argument [0] SELECT s.id_shop, CONCAT(su.physical_uri, su.virtual_uri) AS uri, su.domain, su.main FROM qoqh_shop_url su LEFT JOIN qoqh_shop s ON (s.id_shop = su.id_shop) WHERE (su.domain = 'xventi.com' OR su.domain_ssl = 'xventi.com') AND s.active = 1 AND s.deleted = 0 ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC

ShopCore::initialize - [line 119 - config/config.inc.php]

114. 115. $context = Context::getContext(); 116. 117. /* Initialize the current Shop */ 118. try { 119. $context->shop = Shop::initialize(); 120. } catch (PrestaShopException $e) { 121. $e->displayMessage(); 122. } 123. define('_THEME_NAME_', $context->shop->theme->getName()); 124. define('_PARENT_THEME_NAME_', $context->shop->theme->get('parent') ?: '');

require - [line 40 - admin/index.php] - [1 Arguments]

35. 36. if (!defined('PS_ADMIN_DIR')) { 37. define('PS_ADMIN_DIR', _PS_ADMIN_DIR_); 38. } 39. 40. require _PS_ADMIN_DIR_.'/../config/config.inc.php'; 41. 42. //small test to clear cache after upgrade 43. if (Configuration::get('PS_UPGRADE_CLEAR_CACHE')) { 44. header('Cache-Control: max-age=0, must-revalidate'); 45. header('Expires: Mon, 06 Jun 1985 06:06:00 GMT+1');

Argument [0] /homepages/30/d835957399/htdocs/clickandbuilds/PrestaShop/Xventi/config/config.inc.php

Share this post


Link to post
Share on other sites

This may mean that not all tables were restored. So you should have a look into the database (with Phpmyadmin) which tables were restored. It might very well be that everything coming after shop_url (alphabetically) wasn't restored.

 

Share this post


Link to post
Share on other sites

Thanks a lot, 

I finally did a complete  PHP recovery based on a backup and now it's working. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More