diff --git a/backend/README.md b/backend/README.md index c3f97aa9..8ba6775b 100644 --- a/backend/README.md +++ b/backend/README.md @@ -12,12 +12,8 @@ npx directus-sync push \ --directus-email admin@it4c.dev \ --directus-password admin123 -npx directus-sync seed push \ - --directus-url http://localhost:8055 \ - --directus-email admin@it4c.dev \ - --directus-password admin123 +./seed.sh -./directus-config/seed-manual/seed.sh ``` ## Pull Data from Docker to Harddrive @@ -44,27 +40,8 @@ npx directus-sync push \ ## Seed Data for local development -Seed the development data via: -``` -npx directus-sync seed push \ - --directus-url http://localhost:8055 \ - --directus-email admin@it4c.dev \ - --directus-password admin123 -``` +In order to seed the development data, run the script `backend/seed.sh`. -## Seed Data - find differences - -In order so see what changes would appear when seeding, you can execute: -``` -npx directus-sync seed diff \ - --directus-url http://localhost:8055 \ - --directus-email admin@it4c.dev \ - --directus-password admin123 -``` - -## Manual Seed - -In order to seed files and additional data not covered by `directus-sync` run the script `backend/directus-config/seed-manual/seed.sh`. ## Backup Database diff --git a/backend/directus-config/seeds/.gitignore b/backend/directus-config/seeds/.gitignore new file mode 100644 index 00000000..eb9ad4c4 --- /dev/null +++ b/backend/directus-config/seeds/.gitignore @@ -0,0 +1,3 @@ +* +!development/ +!.gitignore \ No newline at end of file diff --git a/backend/directus-config/seed/directus_files.json b/backend/directus-config/seeds/development/directus/directus_files.json similarity index 100% rename from backend/directus-config/seed/directus_files.json rename to backend/directus-config/seeds/development/directus/directus_files.json diff --git a/backend/directus-config/seed/files/utopia-logo.svg b/backend/directus-config/seeds/development/directus/files/utopia-logo.svg similarity index 100% rename from backend/directus-config/seed/files/utopia-logo.svg rename to backend/directus-config/seeds/development/directus/files/utopia-logo.svg diff --git a/backend/directus-config/seed/layers.json b/backend/directus-config/seeds/development/directus/layers.json similarity index 100% rename from backend/directus-config/seed/layers.json rename to backend/directus-config/seeds/development/directus/layers.json diff --git a/backend/directus-config/seed/layers_maps.json b/backend/directus-config/seeds/development/directus/layers_maps.json similarity index 100% rename from backend/directus-config/seed/layers_maps.json rename to backend/directus-config/seeds/development/directus/layers_maps.json diff --git a/backend/directus-config/seed/maps.json b/backend/directus-config/seeds/development/directus/maps.json similarity index 100% rename from backend/directus-config/seed/maps.json rename to backend/directus-config/seeds/development/directus/maps.json diff --git a/backend/directus-config/seed/types.json b/backend/directus-config/seeds/development/directus/types.json similarity index 100% rename from backend/directus-config/seed/types.json rename to backend/directus-config/seeds/development/directus/types.json diff --git a/backend/directus-config/seeds/development/manual/branding-logo.sql b/backend/directus-config/seeds/development/manual/branding-logo.sql new file mode 100644 index 00000000..e9efc137 --- /dev/null +++ b/backend/directus-config/seeds/development/manual/branding-logo.sql @@ -0,0 +1 @@ +UPDATE public.directus_settings SET project_logo = (SELECT id FROM directus_files WHERE filename_download = 'utopia-logo.svg'); diff --git a/backend/seed.sh b/backend/seed.sh new file mode 100755 index 00000000..ac58d444 --- /dev/null +++ b/backend/seed.sh @@ -0,0 +1,31 @@ +#!/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/seeds/$PROJECT_NAME + + +npx directus-sync seed push \ + --directus-url $DIRECTUS_URL \ + --directus-email $DIRECTUS_EMAIL \ + --directus-password $DIRECTUS_PASSWORD \ + --seed-path $PROJECT_FOLDER/directus + + +SEED_SQL_DIR=$PROJECT_FOLDER/manual + +# apply database updates +for filename in $SEED_SQL_DIR/*.sql; do + docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=$PGPASSWORD psql -v ON_ERROR_STOP=1 --username $PGUSER $PGDATABASE" < $filename +done \ No newline at end of file