mfj31dk Posted January 29, 2014 Share Posted January 29, 2014 (edited) Why can not I import a database to a newly installed prestashop?When I install PrestaShop should I disclose a prefix and I write it prefixnummer which the data is located in the database, it is not possible to move on before I have given a second prefixnummer PrestaShop can not use the data databsen because they do not have the same prefix.What do I do to get PrestaShop and database work together on the same prefix? mfj31dk Edited January 29, 2014 by mfj31dk (see edit history) Link to comment Share on other sites More sharing options...
selectshop.at Posted January 29, 2014 Share Posted January 29, 2014 How are you trying to import ? Are you using csv-import on back-office ? With Hedi-SQL for example you can by opening two instances import directly data from one database to another, independent of the prefix of database. But best is to maintain ps_ as some third party modules only add data if they find ps_xxx. By renaming it is possible to get some problems. Link to comment Share on other sites More sharing options...
mfj31dk Posted January 29, 2014 Author Share Posted January 29, 2014 (edited) I export / import directly from the database in sql / gz format Edited January 29, 2014 by mfj31dk (see edit history) Link to comment Share on other sites More sharing options...
selectshop.at Posted January 30, 2014 Share Posted January 30, 2014 (edited) If you export by this way databases must be identically in structure and also prefix. Another way is to export each Table by itself and than import by mapping the fields of each table to your new database. For better maintenance of this I suggest you use another tool as phpMyAdmin. There is for ex. Heidi SQL or presta store manager (free for a period of 30 days) on where you can habdle each table and each field for export/import. A complete SQL-gzip is not flexible enough. Edited January 30, 2014 by selectshop.at (see edit history) Link to comment Share on other sites More sharing options...
selectshop.at Posted January 30, 2014 Share Posted January 30, 2014 Another thing you need to know. By each install Prestashop set security hashes in the database and also in your /config/config.inc.php (Cookie key and rinjdael or blowfish key) This pair must be always the same, so what I want to say: you cannot make a new install and than import your old database to this install. You must change the keys on your new install /config/config.inc.php to the old keys from old install, for to have database working. Link to comment Share on other sites More sharing options...
mfj31dk Posted January 30, 2014 Author Share Posted January 30, 2014 Thanks for the reply, but I did not find anything that matches the prefix as the database user: PS_5 - I enclose config.inc file and hope that you might want to tell me what to look for.The problem for me is that I'm not a PHP-mann - just a little bit <?php/** 2007-2013 PrestaShop** NOTICE OF LICENSE** This source file is subject to the Open Software License (OSL 3.0)* that is bundled with this package in the file LICENSE.txt.* It is also available through the world-wide-web at this URL:* http://opensource.org/licenses/osl-3.0.php* If you did not receive a copy of the license and are unable to* obtain it through the world-wide-web, please send an email* to [email protected] so we can send you a copy immediately.** DISCLAIMER** Do not edit or add to this file if you wish to upgrade PrestaShop to newer* versions in the future. If you wish to customize PrestaShop for your* needs please refer to http://www.prestashop.com for more information.** @author PrestaShop SA <[email protected]>* @copyright 2007-2013 PrestaShop SA* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)* International Registered Trademark & Property of PrestaShop SA*/require_once(dirname(__FILE__).'/defines.inc.php');$start_time = microtime(true);/* SSL configuration */define('_PS_SSL_PORT_', 443);/* Improve PHP configuration to prevent issues */ini_set('upload_max_filesize', '100M');ini_set('default_charset', 'utf-8');ini_set('magic_quotes_runtime', 0);/* correct Apache charset (except if it's too late */if (!headers_sent()) header('Content-Type: text/html; charset=utf-8');/* No settings file? goto installer... */if (!file_exists(dirname(__FILE__).'/settings.inc.php')){ $dir = ((substr($_SERVER['REQUEST_URI'], -1) == '/' || is_dir($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : dirname($_SERVER['REQUEST_URI']).'/'); if (!file_exists(dirname(__FILE__).'/../install')) die('Error: "install" directory is missing'); header('Location: install/'); exit;}require_once(dirname(__FILE__).'/settings.inc.php');require_once(dirname(__FILE__).'/autoload.php');if (_PS_DEBUG_PROFILING_){ include_once(_PS_TOOL_DIR_.'profiling/Controller.php'); include_once(_PS_TOOL_DIR_.'profiling/ObjectModel.php'); include_once(_PS_TOOL_DIR_.'profiling/Hook.php'); include_once(_PS_TOOL_DIR_.'profiling/Db.php'); include_once(_PS_TOOL_DIR_.'profiling/Tools.php');}if (Tools::isPHPCLI()) Tools::argvToGET($argc, $argv);/* Redefine REQUEST_URI if empty (on some webservers...) */if (!isset($_SERVER['REQUEST_URI']) || empty($_SERVER['REQUEST_URI'])){ if (!isset($_SERVER['SCRIPT_NAME']) && isset($_SERVER['SCRIPT_FILENAME'])) $_SERVER['SCRIPT_NAME'] = $_SERVER['SCRIPT_FILENAME']; if (isset($_SERVER['SCRIPT_NAME'])) { if (basename($_SERVER['SCRIPT_NAME']) == 'index.php' && empty($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] = dirname($_SERVER['SCRIPT_NAME']).'/'; else { $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME']; if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING']; } }}/* Trying to redefine HTTP_HOST if empty (on some webservers...) */if (!isset($_SERVER['HTTP_HOST']) || empty($_SERVER['HTTP_HOST'])) $_SERVER['HTTP_HOST'] = @getenv('HTTP_HOST'); $context = Context::getContext();/* Initialize the current Shop */try{ $context->shop = Shop::initialize(); if (Tools::isEmpty($theme_name = $context->shop->getTheme()) && !defined('_PS_ADMIN_DIR_')) throw new PrestaShopException(Tools::displayError('Current theme unselected. Please check your theme configuration.'));}catch (PrestaShopException $e){ $e->displayMessage();}define('_THEME_NAME_', $theme_name);define('__PS_BASE_URI__', $context->shop->getBaseURI());/* Include all defines related to base uri and theme name */require_once(dirname(__FILE__).'/defines_uri.inc.php');global $_MODULES;$_MODULES = array();/* Load configuration */Configuration::loadConfiguration();/* Load all languages */Language::loadLanguages();/* Loading default country */$defaultCountry = new Country(Configuration::get('PS_COUNTRY_DEFAULT'), Configuration::get('PS_LANG_DEFAULT'));$context->country = $defaultCountry;/* It is not safe to rely on the system's timezone settings, and this would generate a PHP Strict Standards notice. */@date_default_timezone_set(Configuration::get('PS_TIMEZONE'));/* Set locales */$locale = strtolower(Configuration::get('PS_LOCALE_LANGUAGE')).'_'.strtoupper(Configuration::get('PS_LOCALE_COUNTRY').'.UTF-8');setlocale(LC_COLLATE, $locale);setlocale(LC_CTYPE, $locale);setlocale(LC_TIME, $locale);setlocale(LC_NUMERIC, 'en_US.UTF-8');/* Instantiate cookie */$cookie_lifetime = (int)(defined('_PS_ADMIN_DIR_') ? Configuration::get('PS_COOKIE_LIFETIME_BO') : Configuration::get('PS_COOKIE_LIFETIME_FO'));$cookie_lifetime = time() + (max($cookie_lifetime, 1) * 3600);if (defined('_PS_ADMIN_DIR_')) $cookie = new Cookie('psAdmin', '', $cookie_lifetime);else{ if ($context->shop->getGroup()->share_order) $cookie = new Cookie('ps-sg'.$context->shop->getGroup()->id, '', $cookie_lifetime, $context->shop->getUrlsSharedCart()); else { $domains = null; if ($context->shop->domain != $context->shop->domain_ssl) $domains = array($context->shop->domain_ssl, $context->shop->domain); $cookie = new Cookie('ps-s'.$context->shop->id, '', $cookie_lifetime, $domains); }}$context->cookie = $cookie;/* Create employee if in BO, customer else */if (defined('_PS_ADMIN_DIR_')){ $employee = new Employee($cookie->id_employee); $context->employee = $employee; /* Auth on shops are recached after employee assignation */ if ($employee->id_profile != _PS_ADMIN_PROFILE_) Shop::cacheShops(true); $cookie->id_lang = (int)$employee->id_lang;}/* if the language stored in the cookie is not available language, use default language */if (isset($cookie->id_lang) && $cookie->id_lang) $language = new Language($cookie->id_lang);if (!isset($language) || !Validate::isLoadedObject($language)) $language = new Language(Configuration::get('PS_LANG_DEFAULT'));$context->language = $language;if (!defined('_PS_ADMIN_DIR_')){ if (isset($cookie->id_customer) && (int)$cookie->id_customer) { $customer = new Customer($cookie->id_customer); if(!Validate::isLoadedObject($customer)) $customer->logout(); else { $customer->logged = $cookie->logged; if ($customer->id_lang != $context->language->id) { $customer->id_lang = $context->language->id; $customer->update(); } } } if (!isset($customer) || !Validate::isLoadedObject($customer)) { $customer = new Customer(); // Change the default group if (Group::isFeatureActive()) $customer->id_default_group = Configuration::get('PS_UNIDENTIFIED_GROUP'); } $customer->id_guest = $cookie->id_guest; $context->customer = $customer;}/* Link should also be initialized in the context here for retrocompatibility */$context->link = new Link($https_link, $https_link);/** * @deprecated : these defines are going to be deleted on 1.6 version of Prestashop * USE : Configuration::get() method in order to getting the id of order state */define('_PS_OS_CHEQUE_', Configuration::get('PS_OS_CHEQUE'));define('_PS_OS_PAYMENT_', Configuration::get('PS_OS_PAYMENT'));define('_PS_OS_PREPARATION_', Configuration::get('PS_OS_PREPARATION'));define('_PS_OS_SHIPPING_', Configuration::get('PS_OS_SHIPPING'));define('_PS_OS_DELIVERED_', Configuration::get('PS_OS_DELIVERED'));define('_PS_OS_CANCELED_', Configuration::get('PS_OS_CANCELED'));define('_PS_OS_REFUND_', Configuration::get('PS_OS_REFUND'));define('_PS_OS_ERROR_', Configuration::get('PS_OS_ERROR'));define('_PS_OS_OUTOFSTOCK_', Configuration::get('PS_OS_OUTOFSTOCK'));define('_PS_OS_BANKWIRE_', Configuration::get('PS_OS_BANKWIRE'));define('_PS_OS_PAYPAL_', Configuration::get('PS_OS_PAYPAL'));define('_PS_OS_WS_PAYMENT_', Configuration::get('PS_OS_WS_PAYMENT'));/* Get smarty */require_once(dirname(__FILE__).'/smarty.config.inc.php');$context->smarty = $smarty; Link to comment Share on other sites More sharing options...
selectshop.at Posted January 30, 2014 Share Posted January 30, 2014 Sorry I didn't catched what you mean. When you install Prestashop you can choose by yourself the prefix for your database. Perhaps you changed it to PS_5 there. You can change it, but I suggest to don't do it. Several foreign developers are coding modules with this fix ps_ prefix and when you install the module perhaps it will not find tables that should be extended by one or two fields, because it does not match. I know for security it is better to rename the prefix, but on the other side you can have problems. I had this problem and therefore I advise you to don't make the same error, as I did. Link to comment Share on other sites More sharing options...
selectshop.at Posted January 30, 2014 Share Posted January 30, 2014 Sorry, I see. I named you the wrong file. Settings of your database, etc you will find at the file settings.inc.php -> your FTP /config/settings.inc.php. Sorry I was working on a config file and named you the one I had just in mind.... Link to comment Share on other sites More sharing options...
mfj31dk Posted January 30, 2014 Author Share Posted January 30, 2014 I can not create a prestashop if I specify the talebel prefix as the data in the database using - I have to enter a new prefix that is not in the database, with the result that the data in the database can not be found by my shop. Link to comment Share on other sites More sharing options...
mfj31dk Posted January 30, 2014 Author Share Posted January 30, 2014 Thank you very much - it worked, but only partially. The thing is that I have some problems with my original web page - ww.teknobiler.dk therefore I registered www.teknobiler.net with another provider which I would use as a working webpage. I created new installation of teknobiler.net complete with new PrestaShop and database - that is not the same provider. Now I've got the right database on teknobiler.net and it worked, BUT when the page on teknobiler.net finishes loading then it is the address of teknobiler.dk will be displayed. It's hard to describe but try it for yourself to look at www.teknobiler.net - I do not understand how it happens - can you tell me where I need to correct it. I hope you understand what I mean because I've had google to help with the translation. 'Thank you very much Link to comment Share on other sites More sharing options...
selectshop.at Posted January 31, 2014 Share Posted January 31, 2014 I can not create a prestashop if I specify the talebel prefix as the data in the database using - I have to enter a new prefix that is not in the database, with the result that the data in the database can not be found by my shop. yes because you are using the same database for new install. You should create a new database with a different name. Link to comment Share on other sites More sharing options...
selectshop.at Posted January 31, 2014 Share Posted January 31, 2014 For to use double shops you have very simple solutions. Simply put the second shop into a subfolder. If you are using different providers, so the problem is also not tragic. Simply change your hosts file on your local machine to the new IP (from second hoster). So you don't touch your live-shop and can work on another provider. Only after the project is ready you than change the IP on domain dns. It is not necessary to buy another domain for doubling it. Change hosts: Windows/system32(or64)/drivers/etc/hosts open file with editor (notepad) and change to: 127.0.0.1 localhost::1 localhost 91.119.111.111 Domain1 (91.... is IP for your liveshop for ex.) 91.119.222.222 Domain2 (dublette of your shop you want to work) For to work with the dublette simply uncomment the first IP. For two work with liveshop uncomment second IP. so you can switch between both and second IP is not visible for nobody. Only for you, because it's not added to the DNS of your Domain. By this way you are virtualizing one domain with different content. Uncomment line: simply add # as first digit to the line. 127.0.0.1 localhost::1 localhost #91.119.111.111 Domain1 (91.... is IP for your liveshop for ex.) 91.119.222.222 Domain2 (dublette of your shop you want to work) Link to comment Share on other sites More sharing options...
mfj31dk Posted February 2, 2014 Author Share Posted February 2, 2014 Thank you all for your help, but I've given up trying to get it to work when I after reinstall still had problems with the regeneration of picture has.Therefore, I started from scratch on a new installation. Link to comment Share on other sites More sharing options...
selectshop.at Posted February 2, 2014 Share Posted February 2, 2014 Did you already checked your server configuration, if it fulfills the minimum configuration ? For me you are having too much troubles which should not be there, if server matches what prestashop needs. Suggested min. configuration: http://www.prestashop.com/forums/topic/302013-500-internal-server-error-after-install/?do=findComment&comment=1531682 Link to comment Share on other sites More sharing options...
Recommended Posts