Env setup for production and local development

Currently there isn’t any tooling for this other than the core_store table in the database (Content-Manager views for both list and edit) in which case you can use the CLI options to dump/restore these:

For your data, these migrations need to be done manually, also for schema changes we don’t handle this yet (See: Deleting/Updating content-type doesn't drop/migrate the database · Issue #1114 · strapi/strapi · GitHub)


To the above points, we have a database refresh coming in Q3: Database layer (v4) - Roadmap | Product Roadmap

Among the changes we want to handle:

  • Automatically clean up deleted tables (models)
  • Automatically clean up deleted columns (fields)
  • Automatically rename columns when changes are made in Strapi
  • Provide some basic tooling to migrate Users, Roles, Permissions, and Data between environments

What isn’t planned for this refresh but we want to do:

  • Migration from other CMSes (headless, decoupled, or monolithic)
  • Advanced migrations for Strapi updates
  • Automated migrations for Strapi updates

A strong point I would like to make, if you plan on having a large database (or just want to maintain your sanity) I suggest you avoid MongoDB for non-hobby projects.

  • PostgreSQL for single node speed
  • MariaDB Galera Clusters for HA/LB high load applications
  • MySQL if you are more familiar with their clustering solution.
2 Likes