fix: Schema alignment and code corrections (COA 2)
All checks were successful
Test Asgard Runner / test (push) Successful in 3s

- Replace owner_id → owner_user_id in all queries
- Replace auth_token → companion_agent_token in server_connections
- Replace l.active → (l.status = 'active') checks using ENUM
- Fix AppError → ApiError in all new API files
- Add missing imports (Path, PanelAdapter trait)
- Fix StoreConfig nullable type mismatches

Resolves 122 compilation errors. Only sqlx cache generation remains.

Phase 3: EXECUTE complete per V4_WORKFLOW
This commit is contained in:
Vantz Stockwell
2026-02-15 18:23:33 -05:00
parent d7dddca106
commit 500d92cbe3
8 changed files with 342 additions and 82 deletions

108
deploy-remote.sh Executable file
View File

@@ -0,0 +1,108 @@
#!/bin/bash
set -e
echo "=== CORROSION REMOTE DEPLOYMENT ==="
echo ""
REPO_DIR="$HOME/corrosion-admin-panel"
# Step 1: Check if repo exists, clone or pull
if [ -d "$REPO_DIR" ]; then
echo "📦 Updating repository..."
cd "$REPO_DIR"
git pull
else
echo "📦 Cloning repository..."
git clone git@git.corrosionmgmt.com:vantzs/corrosion-admin-panel.git "$REPO_DIR"
cd "$REPO_DIR"
fi
echo "✅ Code updated"
echo ""
# Step 2: Create .env if needed
if [ ! -f docker/.env ]; then
echo "📝 Creating docker/.env from template..."
cp .env.example docker/.env
# Generate secure keys
JWT_SECRET=$(openssl rand -hex 32)
ENCRYPTION_KEY=$(openssl rand -hex 32)
# Update .env
sed -i "s|JWT_SECRET=.*|JWT_SECRET=$JWT_SECRET|" docker/.env
sed -i "s|ENCRYPTION_KEY=.*|ENCRYPTION_KEY=$ENCRYPTION_KEY|" docker/.env
echo "✅ Created docker/.env"
echo "⚠️ IMPORTANT: Edit docker/.env and add:"
echo " - CLOUDFLARE_API_TOKEN"
echo " - STEAM_API_KEY"
echo " - PAYPAL_CLIENT_ID"
echo " - PAYPAL_CLIENT_SECRET"
echo ""
read -p "Press Enter after updating docker/.env..."
fi
# Step 3: Stop existing containers (if any)
echo "🛑 Stopping existing containers..."
cd docker
docker compose down || true
# Step 4: Rebuild and start
echo "🚀 Building and starting services..."
docker compose up -d --build
echo ""
echo "⏳ Waiting for database to be ready..."
sleep 15
# Step 5: Check which migrations have been run
echo ""
echo "📊 Checking migration status..."
cd ..
CURRENT_MIGRATIONS=$(docker exec corrosion-db psql -U corrosion -d corrosion -t -c "SELECT version FROM _sqlx_migrations ORDER BY version;" 2>/dev/null || echo "")
if [ -z "$CURRENT_MIGRATIONS" ]; then
echo "⚠️ No migrations table found - running ALL migrations"
for migration in backend/migrations/*.sql; do
echo "Running $(basename $migration)..."
docker exec -i corrosion-db psql -U corrosion -d corrosion < "$migration"
done
else
echo "Current migrations:"
echo "$CURRENT_MIGRATIONS"
echo ""
# Run only new migrations (009-012)
for version in 009 010 011 012; do
if echo "$CURRENT_MIGRATIONS" | grep -q "^[[:space:]]*$version"; then
echo "✅ Migration $version already applied"
else
migration_file=$(ls backend/migrations/${version}_*.sql 2>/dev/null || true)
if [ -n "$migration_file" ]; then
echo "📊 Running migration $version..."
docker exec -i corrosion-db psql -U corrosion -d corrosion < "$migration_file"
echo "✅ Migration $version complete"
else
echo "⚠️ Migration $version not found"
fi
fi
done
fi
echo ""
echo "=== DEPLOYMENT COMPLETE ==="
echo ""
echo "Services status:"
docker ps --filter "name=corrosion-" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
echo ""
echo "Health check:"
curl -s http://localhost:8088/api/health || echo "⚠️ API not responding yet (may need a few more seconds)"
echo ""
echo "View logs:"
echo " docker logs -f corrosion-api"
echo " docker logs -f corrosion-nginx"
echo ""