How to migrate PrestaShop 1.6 to PrestaShop 1.7? Part 1
Manual PrestaShop migration – Process subtleties
We will utilize the ETL (Extract – Transform – Load) cycle to finish a movement, an idea generally applied to information stockrooms.
The information base construction may change with each new arrival of PrestaShop, yet significant renditions may likewise suggest highlights being supplanted, forestalling a shop to be easily redesigned at times. For these shops, a relocation is an answer for have the option to stay aware of new deliveries.
We will cover the 3 primary strides in this section:
- Concentrate information to be transferred
- Add/adjust/erase a few qualities if necessary
- Import information on the new shop
Sending out information from the source
In distinction with a redesign, we will not alter the information base straightforwardly. We need to send out the information first. We use CSV documents here, the most viable and conventional organization.
Trading information should be possible
- By means of the PrestaShop organization board
- With your MySQL customer.
Contingent upon the manner in which you trade your information, you will not get similar measure of information in your fares.
Light – Via the organization board
Sending out information is very clear. On every regulator devoted to the information you need to trade, you will discover activity catches at the upper right of the page:
For example for your items on PrestaShop 1.7:
Tapping on the “Fare” catch will cause your program to download a CSV document, which contains the total item list with the sections showed on the page.
With a similar cycle, you can send out the accompanying information:
- (Brand) Addresses
- (Client) Addresses
- (Item) Attributes
- Brands
- Trucks
- Classes
- Clients
- (Item) Features
- Orders
- Stocks
- Providers
The extraction will contain values for the current language. In the event that your shop is multilang, you should switch your lang in your worker design (available from the upper right corner of the page) and rehash the extraction.
This technique is restricted to the showed subtleties (= what you see on the table), consequently can be a long way from being comprehensive. For the situation you need more or all segments, you may like to continue physically with your own SQL customer.
Complete – Through a MySQL client panel
Progressed clients can utilize their own customer to remove information in CSV. This alternative give full control on the information to trade.
Picking an extraction in CSV will permit you to carry changes effectively with a bookkeeping page manager, as Microsoft Dominate or LibreOffice Calc.
phpMyAdmin
On phpMyAdmin, sending out in CSV should be possible on the same wavelength as the exemplary SQL dump.
- Speedy and complete fare (suggested)
This progression can be finished direct by trading all tables in a solitary call. Snap on your data set, at that point the “Fare” catch to begin:
In the event that you need to send out a few tables simultaneously, this should be possible by choosing them from the rundown. The tables running with your shop start with the prefix given in your shop arrangement (naturally ps_). In the event that one of them doesn’t begin with this prefix, it is improbable worried by the relocation and can be overlooked.
These tables can be disregarded also:
- access: As said, consents have been revamped and must be reset.
- design. You new shop as of now has another design, and overwriting it with the old shop content is an ill-conceived notion.
- currency: Its substance will be created by during another progression.
- lang: Its substance will be created by during another progression.
- module_access: Structure is revised with the new consent framework. As it can’t be relocated effectively, we prescribe to reconfigure them physically.
- tab: This table contains the administrator regulators open on your backoffice. As its qualities are basically overseen by PrestaShop, don’t change the substance of the new shop.
- tab_lang: Related to tab and as of now oversaw by PrestaShop.
To evade a solitary CSV document to be gotten back with every one of your tables in it, check the choice “Fare tables as isolated records”. You will get a Zip document all things being equal, containing one CSV record for each table.
At last, we encourage to check the alternative “Put segments names in the main column”. This will be helpful in the subsequent stage when your information should be adjusted.
Customized trade from custom SQL demands
We disclosed how to send out the entirety of your tables to ensure you keep however much information as could reasonably be expected.
On the off chance that you get your information from another CMS or like to continue with your own technique, you can run a custom SQL question to get all the data you need. This alternative is valuable on the off chance that you intend to import your information with the import highlight of PrestaShop.
As an illustration here is a SQL solicitation to get the primary item subtleties, alongside the writings relating to the principal language of the main shop:
SELECT p.*, pl.* FROM `ps_product` p JOIN `ps_product_lang` pl ON p.id_product = pl.id_product AND pl.id_lang = 1 AND pl.id_shop = 1 GROUP BY pl.id_product
In the event that the outcome meets your requirements, you can send out it with the “trade” button accessible at the lower part of the page.
mysqldump
On the off chance that you utilized mysqldump for your reinforcements, there is additionally a possibility for extricating your information in CSV records, as portrayed in the documentation. Notwithstanding, our tests have shown that strategy is a long way from being simple.
Model for trading the table ps_product:
mysqldump -h127.0.0.1 -P3307 -uroot -p -T/var/lib/mysql-files --fields-enclosed-by=" --fields-terminated-by=; prestashop16 ps_product
A few notes about mysqldump with CSV records:
- Ensure you set the alternative – fields-ended by with the separators you need
- The header containing section names is absent from the .txt record and must be physically embedded
Here is a concentrate of the item table, with show information. Just the information is available and we need to add the segment names.
Take a gander at the SQL record gave the TXT document, or run a DESCRIBE of the table.
mysql> DESCRIBE prestashop16.ps_product;
You ought to anticipate that the following result before proceeding should the following table:
- You can rename the created .txt records with the .csv augmentation to evade disarray.
- In the event that you are associated with a far off MySQL worker: turning on CSV fare will compose on the far off filesystem and not on the customer one. That is the reason composing on a nonexistent or prohibited envelope may trigger this mistake:
mysqldump: Got error: 1290: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement when executing 'SELECT INTO OUTFILE'
On the off chance that you need to know in which envelope you can send out the documents, run the SQL demand:
mysql> SHOW VARIABLES LIKE "secure_file_priv";