utopia-ui/backend/seed.sh
Ulf Gebhardt f8bf861e4e
feat(backend): directus data per project (#375)
* seed directus data as a whole per project, fix marker icon: user-outline

* rename deploy.sh back to seed.sh

* workflow to test the seed in the backend

* test workflow failure

* wait 3 seconds for all docker containers to be ready

* sleep 3 seconds not 3000

* mod permissions

* try sudo

* revert breaking change

* enforce exit status 0

* fix exit enforce

* test if failing seed files is related to the data folder

fix

* revert volume removal, create uploads folder

* also chmod
2025-09-08 22:22:50 +02:00

41 lines
1.2 KiB
Bash
Executable File

#!/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 "Sync collections"
npx directus-sync push \
--dump-path $PROJECT_FOLDER \
--directus-url $DIRECTUS_URL \
--directus-email $DIRECTUS_EMAIL \
--directus-password $DIRECTUS_PASSWORD \
|| exit 1
echo "Seed data via directus-sync"
npx directus-sync seed push \
--directus-url $DIRECTUS_URL \
--directus-email $DIRECTUS_EMAIL \
--directus-password $DIRECTUS_PASSWORD \
--seed-path $PROJECT_FOLDER/seed/directus \
|| exit 1
SEED_SQL_DIR=$PROJECT_FOLDER/seed/manual
echo "Seed data via sql-files"
# apply database updates
for filename in $SEED_SQL_DIR/*.sql; do
echo "Executing $filename"
docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=$PGPASSWORD psql -v ON_ERROR_STOP=1 --username $PGUSER $PGDATABASE" < $filename || exit 1
done