Strapi v3 โ†’ v4 migration guides are live! ๐Ÿš€

Hello everyone! :wave:
Hereโ€™s everything new in this weekโ€™s documentation deployment:

New :tada:

  • Strapi v3 โ†’ v4 migration guides are available! :partying_face: Todayโ€™s release includes:
  • The user guide features instructions on how to use the all-new in-app Marketplace.

The migration guides will continue to be updated and improved. We hope you will like them and look forward to reading your feedback. :hugs:


Edit: Today (April 27th 2022), weโ€™ve just released the MongoDB โ†’ SQL part of the guide, with solutions to move from MongoDB and a cheatsheet to highlight the differences between MongoDB and SQL implementations in the context of a Strapi project.
Scripts will be publicly released soon to help with these processes, please stay tuned! :rocket:

9 Likes

Hi @piwi ,

Thanks for sharing and itโ€™s amazing to have the migration guides. Would like to check if you have any updates for data migration guide from MongoDB to SQL with Strapi v3(as its a first step to migrate to v4). Waiting for it to migrate my project to v4. :slight_smile:

Thanks for amazing work. !!

1 Like

Thanks for your feedback and question! Youโ€™ll be happy to hear that the MongoDB part of the data migration guide will be published on docs.strapi.io really, really soon! (The pull request has just been merged). Iโ€™ll keep you updated.

Edit: Itโ€™s live now :partying_face:

1 Like

Awesome @piwi . Thanks a lot for great work to you and whole Strapi team.

1 Like

Thank you for your kind words @Meher_Chandan :hugs: Feel free to share if you have any feedback :slight_smile:

Hi @piwi ,
Thanks again for sharing the guides. I am able to successfully migrate from v3 mongo to v3 postgres. However facing some issue while migrating from v3 postgres to v4 postgres. I have few component which has child component and/or relation to other model. Below is an example from core store v3.

{
    id: '15',
    key: 'model_def_clps-components.custom-sellers',
    value: '{"uid":"clps-components.custom-sellers","collectionName":"clps_com_manual_sellers","info":{"name":"custom-sellers","icon":"anchor","description":""},"options":{"timestamps":false},"attributes":{"seller":{"model":"sellers-list"}}}',
    type: 'object',
    environment: '',
    tag: ''
  }

When I run the script, its giving me below errors:

error: insert into "clps_com_manual_sellers" ("id", "seller") values ($1, $2), ($3, $4) - column "seller" of relation "clps_com_manual_sellers" does not exist

As I can see in the database, clps_com_manual_sellers table only contains the id field and there is another table clps_com_manual_sellers_seller_links to have the relation. Unfortunately I am not able to fix it.

Any suggestions would be great.

Never mind. I figured it out :slight_smile:

1 Like

Sorry for getting back to you late. Iโ€™m happy that you figured it out yourself. Could you please share your solution here? It would help us improve the data migration guide and could probably help other users facing a similar issue as well :slight_smile:

Hi @piwi , I found that for some of the relational table, column names picks by the script were not matching with the columns created in the database. As I needed a quick fix for my project, I handled the cases individually for each table and defined the custom conditions for such column names.

Thank you for reporting this, @Meher_Chandan! I will forward it to the team maintaining the migration scripts :slight_smile: