Migrating Strapi Content Between Environments
Introduction
Migrating content ensures consistency across development, staging, and production. This guide covers export/import using database tools and Strapi plugins.
Prerequisites
- Access to source and target Strapi databases
- Strapi
content-manager
andcontent-type-builder
plugins
Step 1: Database Dump and Restore
PostgreSQL Example
Export:
pg_dump -U user -h src_host -d strapi_db -F c -b -v -f strapi.dump
Import:
pg_restore -U user -h dest_host -d strapi_db -v strapi.dump
MongoDB Example
Export:
mongodump --uri="mongodb://user:pass@src_host/strapi" --archive=strapi.archive
Import:
mongorestore --uri="mongodb://user:pass@dest_host/strapi" --archive=strapi.archive --drop
Step 2: Strapi Import/Export Plugin
Install:
npm install strapi-plugin-import-export-entries
In Strapi admin, navigate to Import/Export:
- Export: select content types and download JSON.
- Import: upload JSON to target.
Step 3: Handling Media Files
Sync ./public/uploads
directory via rsync:
rsync -avz ./public/uploads/ user@dest_host:/path/to/strapi/public/uploads/
Step 4: Environment Variables
Ensure matching environment configs in .env
:
DATABASE_URL
JWT_SECRET
ADMIN_JWT_SECRET
Step 5: Restart Strapi
After import, restart Strapi:
pm run build && pm2 restart strapi
Summary
Combine database dumps, Import/Export plugin, and media sync for full migration of Strapi content and assets across environments.