V-5 Posted September 26, 2017 Share Posted September 26, 2017 (edited) 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 ASCat 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 cart2358. 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 module249. $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 WIDGET1148. $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 exist1238. 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 September 27, 2017 by V-5 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now