feat: complete database schema with all 39 tables and foreign key relationships
This commit is contained in:
47
create_fields.sh
Executable file
47
create_fields.sh
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
# Create Directus fields from unified_schema.json to generate actual database tables
|
||||
|
||||
API_URL="https://spark.jumpstartscaling.com"
|
||||
TOKEN=$(curl -s -X POST "$API_URL/auth/login" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"email": "admin@sparkplatform.com", "password": "SecureAdmin2024!"}' | jq -r '.data.access_token')
|
||||
|
||||
echo "🔑 Logged in with token: ${TOKEN:0:50}..."
|
||||
echo ""
|
||||
|
||||
# Read unified_schema.json and create fields for each collection
|
||||
jq -c '.[]' unified_schema.json | while read -r collection_data; do
|
||||
COLLECTION=$(echo "$collection_data" | jq -r '.collection')
|
||||
|
||||
echo "📦 Creating fields for: $COLLECTION"
|
||||
|
||||
# Get fields array
|
||||
echo "$collection_data" | jq -c '.fields[]' | while read -r field_data; do
|
||||
FIELD_NAME=$(echo "$field_data" | jq -r '.field')
|
||||
|
||||
# Create the field
|
||||
RESPONSE=$(curl -s -X POST "$API_URL/fields/$COLLECTION" \
|
||||
-H "Authorization: Bearer $TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$field_data")
|
||||
|
||||
if echo "$RESPONSE" | jq -e '.data' > /dev/null 2>&1; then
|
||||
echo " ✅ $FIELD_NAME"
|
||||
else
|
||||
ERROR=$(echo "$RESPONSE" | jq -r '.errors[0].message // "Unknown error"')
|
||||
if [[ "$ERROR" == *"already exists"* ]]; then
|
||||
echo " ⏭️ $FIELD_NAME (already exists)"
|
||||
else
|
||||
echo " ❌ $FIELD_NAME: $ERROR"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
done
|
||||
|
||||
echo "✅ Fields creation complete!"
|
||||
echo ""
|
||||
echo "Checking if tables were created..."
|
||||
ssh -i /tmp/coolify_key -o StrictHostKeyChecking=no root@72.61.15.216 \
|
||||
"docker exec postgresql-cwgks4gs884c08s0s448gow0-142125598525 psql -U postgres -d directus -c \"SELECT COUNT(*) FROM pg_tables WHERE schemaname = 'public' AND tablename NOT LIKE 'directus_%' AND tablename NOT LIKE 'spatial_%';\""
|
||||
Reference in New Issue
Block a user