refactor(backend): separate push from seed and provide a pull script (#423)

This commit is contained in:
Ulf Gebhardt 2025-10-09 15:55:46 +02:00 committed by GitHub
parent e261d68534
commit f80357e45f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 54 additions and 9 deletions

View File

@ -40,7 +40,7 @@ jobs:
sudo chmod 777 -R ./data
docker compose -f docker-compose.yml up -d
sleep 5
cd backend && ./seed.sh
cd backend && ./push.sh && ./seed.sh
working-directory: ${{env.WORKING_DIRECTORY}}
#build-development:

View File

@ -6,6 +6,7 @@ To run the backend you can simply execute
To fill in all required data execute the following commands in order:
```
cd backend
./push.sh
./seed.sh
```
@ -22,6 +23,8 @@ npx directus-sync pull \
--directus-password admin123
```
You can run `./pull.sh` to run this command and modify it via `export PROJECT=...` for a different project configuration.
## Push Data from Harddrive to Docker
To push local changes or to seed directus use the following command
@ -33,6 +36,8 @@ npx directus-sync push \
--directus-password admin123
```
You can run `./push.sh` to run this command and modify it via `export PROJECT=...` for a different project configuration.
## Seed Data for local development
In order to seed the development data, run the script `backend/seed.sh`.

24
backend/pull.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/sh
# base setup
SCRIPT_PATH=$(realpath $0)
SCRIPT_DIR=$(dirname $SCRIPT_PATH)
DIRECTUS_URL="${DIRECTUS_URL:-http://localhost:8055}"
DIRECTUS_EMAIL="${DIRECTUS_EMAIL:-admin@it4c.dev}"
DIRECTUS_PASSWORD="${DIRECTUS_PASSWORD:-admin123}"
PGPASSWORD="${PGPASSWORD:-'directus'}"
PGUSER="${PGUSER:-'directus'}"
PGDATABASE="${PGDATABASE:-'directus'}"
PROJECT_NAME="${PROJECT:-development}"
PROJECT_FOLDER=$SCRIPT_DIR/directus-config/$PROJECT_NAME
echo "Pull collections"
npx directus-sync@3.4.0 pull \
--dump-path $PROJECT_FOLDER \
--directus-url $DIRECTUS_URL \
--directus-email $DIRECTUS_EMAIL \
--directus-password $DIRECTUS_PASSWORD \
|| exit 1

24
backend/push.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/sh
# base setup
SCRIPT_PATH=$(realpath $0)
SCRIPT_DIR=$(dirname $SCRIPT_PATH)
DIRECTUS_URL="${DIRECTUS_URL:-http://localhost:8055}"
DIRECTUS_EMAIL="${DIRECTUS_EMAIL:-admin@it4c.dev}"
DIRECTUS_PASSWORD="${DIRECTUS_PASSWORD:-admin123}"
PGPASSWORD="${PGPASSWORD:-'directus'}"
PGUSER="${PGUSER:-'directus'}"
PGDATABASE="${PGDATABASE:-'directus'}"
PROJECT_NAME="${PROJECT:-development}"
PROJECT_FOLDER=$SCRIPT_DIR/directus-config/$PROJECT_NAME
echo "Push collections"
npx directus-sync@3.4.0 push \
--dump-path $PROJECT_FOLDER \
--directus-url $DIRECTUS_URL \
--directus-email $DIRECTUS_EMAIL \
--directus-password $DIRECTUS_PASSWORD \
|| exit 1

View File

@ -15,14 +15,6 @@ PGDATABASE="${PGDATABASE:-'directus'}"
PROJECT_NAME="${PROJECT:-development}"
PROJECT_FOLDER=$SCRIPT_DIR/directus-config/$PROJECT_NAME
echo "Sync collections"
npx directus-sync@3.4.0 push \
--dump-path $PROJECT_FOLDER \
--directus-url $DIRECTUS_URL \
--directus-email $DIRECTUS_EMAIL \
--directus-password $DIRECTUS_PASSWORD \
|| exit 1
echo "Seed data"
npx directus-sync@3.4.0 seed push \
--seed-path $PROJECT_FOLDER/seed \