34 lines
940 B
Bash
Executable File
34 lines
940 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script to sync Strapi data between environments
|
|
# Usage: ./scripts/strapi-sync.sh [export|import] [filename]
|
|
|
|
COMMAND=$1
|
|
FILENAME=$2
|
|
|
|
if [ -z "$COMMAND" ]; then
|
|
echo "Usage: $0 [export|import] [filename]"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$COMMAND" == "export" ]; then
|
|
if [ -z "$FILENAME" ]; then
|
|
FILENAME="strapi-export-$(date +%Y%m%d%H%M%S).tar.gz"
|
|
fi
|
|
echo "Exporting Strapi data to $FILENAME..."
|
|
docker-compose exec cms npm run strapi export -- --no-encrypt -f "$FILENAME"
|
|
docker cp $(docker-compose ps -q cms):/opt/app/$FILENAME .
|
|
echo "Export complete: $FILENAME"
|
|
fi
|
|
|
|
if [ "$COMMAND" == "import" ]; then
|
|
if [ -z "$FILENAME" ]; then
|
|
echo "Please specify a filename to import"
|
|
exit 1
|
|
fi
|
|
echo "Importing Strapi data from $FILENAME..."
|
|
docker cp $FILENAME $(docker-compose ps -q cms):/opt/app/$FILENAME
|
|
docker-compose exec cms npm run strapi import -- -f "$FILENAME" --force
|
|
echo "Import complete"
|
|
fi
|