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: