Closed Charlesdoiron closed 1 year ago
What versions of strapi/plugin are you using?
It works fine on my side:
1.6.7
4.1.12
Stracciatella fumée
is insane btw
hé hé : )
I'v got
plugin version: 1.6.7
strapi version: 4.2.0
It doesn't work for me after rebuilding etc ...
Oh i found something.
It's work when a give a random id
to every products.
That's surprising though because it worked for me without this id
trick
Have you tried to import the Json. Delete the content type and re-import it ?
it is not the same content type as the other repo i gave you ! Do you import it in the old one ?
I don't know what happen ... Since today it's not stable. I have a lot of error importing Json (few days ago everything worked perfectly).
Now i have some :
error: insert into "sub_categories" ("created_at", "created_by_id", "id", "is_accordion", "updated_at", "updated_by_id") values ($1, $2, $3, $4, $5, $6) returning "id" - duplicate key value violates unique constraint "sub_categories_pkey" error: insert into "sub_categories" ("created_at", "created_by_id", "id", "is_accordion", "updated_at", "updated_by_id") values ($1, $2, $3, $4, $5, $6) returning "id" - duplicate key value violates unique constraint "sub_categories_pkey"
When i upload this :
I have tried on docker postgre, i tried on a heroku postgre ...
I think I found the root cause and fixed it version 1.6.9
.
To give you some context on the not stable feeling, components and dynamic zones were imported concurrently. It worked when components had different id
s, but failed when at least 2 had the same one, because one was created before the other one. Thus the error you got: duplicate key value violates unique constraint "sub_categories_pkey"
. When components are already created, there is no issue because the involved component only gets updated multiple times.
Now components and dynamic zones are created sequentially. Importing data takes longer but it fixes the issue.
I'm waiting for your feedback to be sure the issue is fixed
Hey @Baboo7 ! Thanks a lot for your amazing work. It's work ! But with bad order : (
Maybe we loose order when we import data with relational fields ? I've tried with empty db too.
Ps: Can you send me your contact mail at charles@fragile.studio I would like to give you a reward for all your work which is of great help to me.
Thanks
The order should be kept and it is on my side which makes it hard for me to debug. In the meantime, adding a property order
to product
could ensure the right sorting
Ps: Can you send me your contact mail at charles@fragile.studio I would like to give you a reward for all your work which is of great help to me.
That's very kind :) I appreciate it
I will put an order
key on each product :)
Did the plugin already use these key to sort ? Or you have to update it ?
It doesn't, it's a key you'll will have to use on your side to have the products sorted as expected
Ok thanks, but i need the drag and drop feature and hardcoding the order should break it : (
@Baboo7 ,
i have found the problem.
The products are sorted by id
.
If i give an id
representative of the order to the product
=> the order is good.
If i don't give an id
to the product
=> the order is good.
I can remove the id
but it's mean that i can reuse en existing product
, i have to create a new one everytime i upload a menu
.
Maybe it's help to improve the plugin ?
Thanks !
To better understand:
id
for every product: every product is created with a new id
and since there are created one after an other, the order is the expected oneid
for every product that are not ordered (like [7, 3, 4]
), the relation is saved as [3, 4, 7]
, thus breaking the order
Is that it?Yep
Hey @Charlesdoiron, FYI I just published version 1.15.0
where v2 of export/import has been implemented. It's a beta still but it showed more stable results than the v1 on the test data I used. Export v2 is accessible in the export modal by selecting the export format JSON (v2)
/ import v2 is detected automatically from the structure of the provided data file. This new version 1.15.0
does NOT introduce breaking changes so v1 is still accessible and behaving as in previous version 😉
I haven't tried but there is a good chance that this new version keeps insertion order.
I would love to have your feedback on this new version. Feel free to join the discord server of the project I just opened 😌
I'm closing this issue because of incativity ;)
Describe the bug Hi ! I want to import an array of products. I can import it perfectly but i don't get the right order.
To Reproduce Steps to reproduce the behavior: Import this JSON :
JSON here
``` [ { "category": [ { "__component": "categories.category", "hide_products": false, "background_color": null, "gif_placement": null, "description": "", "force_open": false, "title": "Buoni prodotti, Antipasti", "force_show": true, "image": null, "product": [ { "title": "Stracciatella fumée", "price": 7, "is_unavailable": false, "all_services": true, "description": "Juste le crémeux de la burrata, à la petite cuillère", "show_image": null, "is_video_product": false, "allergens": " - ", "sku": "fr-fr5690", "kcal": "", "type": "V", "sub_category": { "title": "Buoni prodotti", "description": "Les produits bruts en direct de nos petits producteurs pour les kiffs en solo ou à plusieurs" } }, { "title": "Salame Felino", "price": 7, "is_unavailable": false, "all_services": true, "description": "Le mythique saucisson Felino IGP de La Fattoria di Parma", "show_image": null, "is_video_product": false, "allergens": " - ", "sku": "fr-fr39417", "kcal": "", "type": "", "sub_category": { "title": "Buoni prodotti", "description": "Les produits bruts en direct de nos petits producteurs pour les kiffs en solo ou à plusieurs" } }, { "title": "Mozza Opéra Rock", "price": 8, "is_unavailable": false, "all_services": true, "description": "Épatante mozza di bufala de 125gr, tomates datterino marinées et chutney de tomates, basilic", "show_image": null, "is_video_product": false, "allergens": "lait, sulfites ", "sku": "fr-fr46869", "kcal": "", "type": "V", "sub_category": { "title": "Buoni prodotti", "description": "Les produits bruts en direct de nos petits producteurs pour les kiffs en solo ou à plusieurs" } }, { "title": "Prosciutto di Parma DOP 24 mesi", "price": 8, "is_unavailable": false, "all_services": true, "description": "L'inoubliable jambon en direct de la province de Parme, fondant à souhait", "show_image": null, "is_video_product": false, "allergens": " - ", "sku": "fr-fr15229", "kcal": "", "type": "", "sub_category": { "title": "Buoni prodotti", "description": "Les produits bruts en direct de nos petits producteurs pour les kiffs en solo ou à plusieurs" } }, { "title": "Bresaola de bœuf Punta d'Anca", "price": 8, "is_unavailable": false, "all_services": true, "description": "Bœuf séché légèrement salé assaisonné d'un filet d'huile d'olive et de zestes de citron vert", "show_image": null, "is_video_product": false, "allergens": " - ", "sku": "fr-fr15447", "kcal": "", "type": "", "sub_category": { "title": "Buoni prodotti", "description": "Les produits bruts en direct de nos petits producteurs pour les kiffs en solo ou à plusieurs" } }, { "title": "Green eyed peas", "price": 12.5, "is_unavailable": false, "all_services": true, "description": "Énorme burrata de 250gr, crème de petits pois, menthe et basilic", "show_image": null, "is_video_product": false, "allergens": "lait", "sku": "fr-fr44305", "kcal": "", "type": "V", "sub_category": { "title": "Buoni prodotti", "description": "Les produits bruts en direct de nos petits producteurs pour les kiffs en solo ou à plusieurs" } }, { "title": "Sweet es(capece)", "id": 99999, "price": 7, "is_unavailable": false, "all_services": true, "description": "Big empanadas farcis aux courgettes alla scapece, mozza fior di latte et Caciocavallo, acoquinés d'une sauce de tomates datterino confites", "show_image": null, "is_video_product": false, "allergens": "gluten de blé, lait, sulfites", "sku": "fr-fr46830", "kcal": "", "type": "V" }, { "title": "Pomodori ripieni", "price": 8, "is_unavailable": false, "all_services": true, "description": "Jolies tomates farcies à la pappa al pomodoro - compotée de pain perdu aux tomates San Marzano, ail, filet d'huile d’olive -, recouvertes d'un décadent pistou de basilic et cébette", "show_image": null, "is_video_product": false, "allergens": "gluten de blé, d'orge et de seigle, sésame, soja ", "sku": "fr-fr44264", "kcal": "", "type": "V" }, { "title": "Maritozzo alla parmigiana", "price": 9, "is_unavailable": false, "all_services": true, "description": "Sublime maritozzo : mœlleuse brioche fourrée à la parmigiana, aubergines cuites au four, sauce tomate san Marzano, mozza fior di latte, parmesan, basilic", "show_image": null, "is_video_product": false, "allergens": "céleri, gluten de blé, lait, oeuf, sulfites", "sku": "fr-fr48713", "kcal": "", "type": "" }, { "title": "Bar Simpson", "price": 10, "is_unavailable": false, "all_services": true, "description": "Dingue ceviche de bar, gaspacho de tomates datterino et poivrons rouges, concombres carosello et battaglione, citron vert, huile de sésame, fleur de sel et piment", "show_image": null, "is_video_product": false, "allergens": "céleri, sésame, lait, poisson, traces de ftuits à coques ", "sku": "fr-fr46836", "kcal": "", "type": "" }, { "title": "La numéro 10 des focaccia ", "price": 11, "is_unavailable": false, "all_services": true, "description": "L'indispensable de vos antipasti : généreuse focaccia à la farine grano arso, fromage stracchino et prosciutto di Parma on top", "show_image": null, "is_video_product": false, "allergens": "gluten de blé, lait", "sku": "fr-fr46899", "kcal": "", "type": "" }, { "title": "A veau de jouer !", "price": 11, "is_unavailable": false, "all_services": true, "description": "Tendrissime tartare de veau coupé au couteau, salsa tonnata, sauce verte, servie sur une croustillante tranche de pain de campagne", "show_image": null, "is_video_product": false, "allergens": "gluten de blé, d'orge et de seigle, lait, moutarde, oeuf, poisson, sésame, soja, sulfites ", "sku": "fr-fr46839", "kcal": "", "type": "" } ] } ], } ] ```Go to the content-type :
And see the product order :
Expected behavior Have the json's product order : 1/ Stracciatella fumée 2/ Salame Felino 3/ Mozza Opéra Rock 4/ Prosciutto di Parma DOP 24 mesi
etc ...
Thanks a lot for your very helpful work.