Jump to content

Front Office (website) - PrestaShopDatabaseException


V-5

Recommended Posts

I have upgraded from prestashop version 1.5 to 1.6.1.17. Everything went well and the prestashop back office also logged in well.

 

When I enabled the website (turned off Maintenance), I started getting the "PrestaShopDatabaseException".

 

As of now I have put the site back to "Maintanance" but I need help to resolve this issue.

 

I am not a developer but have read and followed instructions and managed to setup the site and had been running it since more than a year now without issues. Please help and provide detailed steps as what I need to do to resolve this issue.

 

I also tried to restore the old database (I had taken backup before upgrade) but even after restoring old DB I get issues.

 

The complete error is given below:

 

[PrestaShopDatabaseException]

Table 'xyzab.ps_feature' doesn't exist
 

        SELECT id_product, name, value, pf.id_feature
        FROM ps_feature_product pf
        LEFT JOIN ps_feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = 1)
        LEFT JOIN ps_feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = 1)
        LEFT JOIN ps_feature f ON (f.id_feature = pf.id_feature)
         INNER JOIN ps_feature_shop feature_shop
        ON (feature_shop.id_feature = f.id_feature AND feature_shop.id_shop = 1)
        WHERE `id_product` IN (74)
        ORDER BY f.position ASC

at line 791 in file classes/db/Db.php

 

786. if ($webservice_call && $errno) {
787. $dbg = debug_backtrace();
788. WebserviceRequest::getInstance()->setError(500, '
 '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);
789. } elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) {
790. if ($sql) {
791. throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');
792. }
793.
794. throw new PrestaShopDatabaseException($this->getMsgError());
795. }
796. }
  • DbCore->displayError - [line 425 - classes/db/Db.php] - [1 Arguments]
    Argument [0]

            SELECT id_product, name, value, pf.id_feature
            FROM ps_feature_product pf
            LEFT JOIN ps_feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = 1)
            LEFT JOIN ps_feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = 1)
            LEFT JOIN ps_feature f ON (f.id_feature = pf.id_feature)
             INNER JOIN ps_feature_shop feature_shop
            ON (feature_shop.id_feature = f.id_feature AND feature_shop.id_shop = 1)
            WHERE `id_product` IN (74)
            ORDER BY f.position ASC
  • DbCore->query - [line 643 - classes/db/Db.php] - [1 Arguments]
    Argument [0]

            SELECT id_product, name, value, pf.id_feature
            FROM ps_feature_product pf
            LEFT JOIN ps_feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = 1)
            LEFT JOIN ps_feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = 1)
            LEFT JOIN ps_feature f ON (f.id_feature = pf.id_feature)
             INNER JOIN ps_feature_shop feature_shop
            ON (feature_shop.id_feature = f.id_feature AND feature_shop.id_shop = 1)
            WHERE `id_product` IN (74)
            ORDER BY f.position ASC
  • DbCore->executeS - [line 3740 - classes/Product.php] - [1 Arguments]
    Argument [0]

            SELECT id_product, name, value, pf.id_feature
            FROM ps_feature_product pf
            LEFT JOIN ps_feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = 1)
            LEFT JOIN ps_feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = 1)
            LEFT JOIN ps_feature f ON (f.id_feature = pf.id_feature)
             INNER JOIN ps_feature_shop feature_shop
            ON (feature_shop.id_feature = f.id_feature AND feature_shop.id_shop = 1)
            WHERE `id_product` IN (74)
            ORDER BY f.position ASC
  • ProductCore::cacheFrontFeatures - [line 2358 - classes/Product.php] - [2 Arguments]
    2353. $products_ids = array();
    2354. foreach ($result as $row) {
    2355. $products_ids[] = $row['id_product'];
    2356. }
    2357. // Thus you can avoid one query per product, because there will be only one query for all the products of the cart
    2358. Product::cacheFrontFeatures($products_ids, $id_lang);
    2359. return Product::getProductsProperties((int)$id_lang, $result);
    2360. }
    2361.
    2362. protected static function _getProductIdByDate($beginning, $ending, Context $context = null, $with_combination = false)
    2363. {
  • ProductCore::getNewProducts - [line 305 - modules/leotempcp/classes/widget/carousel.php] - [6 Arguments]
    300. $interval = (isset($setting['interval'])) ? (int)($setting['interval']) : 8000;
    301. switch ($setting['source']) {
    302. case 'ptype':
    303. switch ($setting['ptype']) {
    304. case 'newest':
    305. $products = Product::getNewProducts($this->langID, 0, $nb, false, $orderby, $orderway);
    306. break;
    307. case 'featured':
    308. $category = new Category(Context::getContext()->shop->getCategory(), $this->langID);
    309. $products = $category->getProducts((int)$this->langID, 1, $nb, $orderby, $orderway);
    310. break;
  • LeoWidgetCarousel->renderContent - [line 236 - modules/leotempcp/classes/widget.php] - [2 Arguments]
    231. $data['widget_heading'] = isset($data['widget_title_'.$this->langID]) ? Tools::stripslashes($data['widget_title_'.$this->langID]) : '';
    232.
    233. //echo $method;
    234. if (isset($this->engines[$type])) {
    235. $args = array();
    236. return $this->engines[$type]->renderContent($args, $data);
    237. }
    238. return false;
    239. }
    240.
    241. /**
  • LeoTempcpWidget->getWidgetContent - [line 249 - modules/leotempcp/classes/widget.php] - [2 Arguments]
    244. public function renderContent($id)
    245. {
    246. $output = array('id' => $id, 'type' => '', 'data' => '');
    247. if (isset($this->widgets[$id])) {
    248. # validate module
    249. $output = $this->getWidgetContent($this->widgets[$id]['type'], $this->widgets[$id]['params']);
    250. }
    251.
    252. return $output;
    253. }
    254.
  • LeoTempcpWidget->renderContent - [line 1148 - modules/leomanagewidgets/leomanagewidgets.php] - [1 Arguments]
    1143. if (isset($column['rows'])) {
    1144. foreach ($column['rows'] as &$row) {
    1145.
    1146. if ($row['type'] == '0') {
    1147.                                 # LOAD WIDGET
    1148. $content = $this->_widgets->renderContent($row['key_widget']);
    1149. $content['type'] = LeomanagewidgetsHelper::processWidgetType($hook_name, $row['key_widget'], $content['type'], $content['data']);
    1150. //if ($this->_load_owl_carousel_lib == false)
    1151. //    $this->_load_owl_carousel_lib = LeomanagewidgetsHelper::enableLoadOwlCarouselLib($content['data']);
    1152. $row['content'] = $this->getWidgetContent($hook_name, $row['key_widget'], $content['type'], $content['data']);
    1153. } else {
  • LeoManagewidgets->_setGroupData - [line 1242 - modules/leomanagewidgets/leomanagewidgets.php] - [2 Arguments]
    1237. //return if don't exist
    1238. if (!isset($this->_groupList[$hook_name])) {
    1239. return false;
    1240. }
    1241. $groups = array();
    1242. $groups = $this->_setGroupData($this->_groupList[$hook_name], $hook_name);
    1243.
    1244. $this->smarty->assign('leoGroup', $groups);
    1245.
    1246. if ($this->_has_bg_style) {
    1247. $this->smarty->assign('LEO_BG_STYLE_DATA', $this->_bg_style_config_data);
  • LeoManagewidgets->_processHook - [line 1545 - modules/leomanagewidgets/leomanagewidgets.php] - [1 Arguments]
    1540. return $this->_processHook('displayLeftColumn');
    1541. }
    1542.
    1543. public function hookDisplayHome()
    1544. {
    1545. return $this->_processHook('displayHome');
    1546. }
    1547.
    1548. public function hookDisplayFooter()
    1549. {
    1550. return $this->_processHook('displayFooter').$this->header_content;
  • LeoManagewidgets->hookDisplayHome - [line 591 - classes/Hook.php] - [1 Arguments]
    Argument [0]
     
  • HookCore::coreCallHook - [line 546 - classes/Hook.php] - [3 Arguments]
    Argument [0]
Edited by V-5 (see edit history)
Link to comment
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...