fix: use environment variables in sexy import scripts

Changed hardcoded database credentials to use environment variables:
- `-U sexy` → `-U ${DB_USER}`
- `-d sexy` → `-d ${SEXY_DB_NAME}`

Also added missing interactive confirmation prompt to sexy/import/all script.

This fixes the script error on VPS where:
- VPS uses: DB_USER=valknar, SEXY_DB_NAME=directus
- Local dev uses: DB_USER=sexy, SEXY_DB_NAME=sexy (or directus)

The scripts now work correctly in both environments by reading
the appropriate values from .env files via arty's environment system.
This commit is contained in:
2025-10-28 23:19:00 +01:00
parent c7608ae0b5
commit dee16f7321

View File

@@ -111,7 +111,7 @@ scripts:
sexy/db/import: |
echo "⚠️ WARNING: This will replace the current database!" &&
echo "Make sure core_postgres container is running..." &&
docker exec -i core_postgres psql -U sexy -d sexy < ~/Projects/docker-compose/sexy/directus.sql &&
docker exec -i core_postgres psql -U ${DB_USER} -d ${SEXY_DB_NAME} < ~/Projects/docker-compose/sexy/directus.sql &&
echo "✓ Database imported from ~/Projects/docker-compose/sexy/directus.sql" &&
echo "Restarting Directus API..." &&
docker restart sexy_api &&
@@ -133,16 +133,21 @@ scripts:
# Step 2: Apply schema (updates Directus metadata)
sexy/import/all: |
echo "⚠️ WARNING: This will completely replace the database and schema!" &&
echo "Importing database..." &&
docker exec -i core_postgres psql -U sexy -d sexy < ~/Projects/docker-compose/sexy/directus.sql &&
echo "✓ Database imported" &&
echo "Applying Directus schema..." &&
docker cp ~/Projects/docker-compose/sexy/schema.yaml sexy_api:/directus/schema.yaml &&
docker exec sexy_api npx directus schema apply --yes /directus/schema.yaml &&
echo "✓ Schema applied" &&
echo "Restarting Directus API..." &&
docker restart sexy_api &&
echo "✓✓✓ Complete import finished successfully!"
read -p "Are you sure? Type 'yes' to continue: " confirm &&
if [ "$confirm" = "yes" ]; then
echo "Importing database..." &&
docker exec -i core_postgres psql -U ${DB_USER} -d ${SEXY_DB_NAME} < ~/Projects/docker-compose/sexy/directus.sql &&
echo "✓ Database imported" &&
echo "Applying Directus schema..." &&
docker cp ~/Projects/docker-compose/sexy/schema.yaml sexy_api:/directus/schema.yaml &&
docker exec sexy_api npx directus schema apply --yes /directus/schema.yaml &&
echo "✓ Schema applied" &&
echo "Restarting Directus API..." &&
docker restart sexy_api &&
echo "✓✓✓ Complete import finished successfully!";
else
echo "Import cancelled.";
fi
sexy/uploads/export: |
rm -rf sexy/uploads