81 lines
2.3 KiB
Bash
Executable File
81 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Fix Requirement Processor Migration Issue
|
|
# This script fixes the schema_migrations constraint issue
|
|
|
|
set -e
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
log() {
|
|
echo -e "${GREEN}[$(date +'%Y-%m-%d %H:%M:%S')]${NC} $1"
|
|
}
|
|
|
|
warn() {
|
|
echo -e "${YELLOW}[$(date +'%Y-%m-%d %H:%M:%S')] WARNING:${NC} $1"
|
|
}
|
|
|
|
error() {
|
|
echo -e "${RED}[$(date +'%Y-%m-%d %H:%M:%S')] ERROR:${NC} $1"
|
|
}
|
|
|
|
# Database connection settings
|
|
DB_HOST=${DB_HOST:-"localhost"}
|
|
DB_PORT=${DB_PORT:-"5432"}
|
|
DB_USER=${DB_USER:-"postgres"}
|
|
DB_NAME=${DB_NAME:-"dev_pipeline"}
|
|
DB_PASSWORD=${DB_PASSWORD:-"password"}
|
|
|
|
log "🔧 Fixing Requirement Processor Migration Issue"
|
|
log "=============================================="
|
|
|
|
# Check if we're in the right directory
|
|
if [ ! -f "docker-compose.yml" ]; then
|
|
error "Please run this script from the codenuk-backend-live directory"
|
|
exit 1
|
|
fi
|
|
|
|
log "📋 Step 1: Stopping the requirement-processor service"
|
|
docker compose stop requirement-processor || true
|
|
|
|
log "📋 Step 2: Cleaning up failed migration records"
|
|
PGPASSWORD="$DB_PASSWORD" psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" << 'EOF'
|
|
-- Remove any failed migration records for requirement-processor
|
|
DELETE FROM schema_migrations WHERE service = 'requirement-processor' OR version LIKE '%.sql';
|
|
|
|
-- Ensure the schema_migrations table has the correct structure
|
|
ALTER TABLE schema_migrations ALTER COLUMN service SET NOT NULL;
|
|
EOF
|
|
|
|
log "📋 Step 3: Restarting the requirement-processor service"
|
|
docker compose up -d requirement-processor
|
|
|
|
log "📋 Step 4: Waiting for service to be healthy"
|
|
sleep 10
|
|
|
|
# Check if the service is running
|
|
if docker compose ps requirement-processor | grep -q "Up"; then
|
|
log "✅ Requirement processor service is running"
|
|
else
|
|
error "❌ Requirement processor service failed to start"
|
|
docker compose logs requirement-processor
|
|
exit 1
|
|
fi
|
|
|
|
log "📋 Step 5: Verifying migration status"
|
|
PGPASSWORD="$DB_PASSWORD" psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" << 'EOF'
|
|
-- Check migration status
|
|
SELECT service, version, applied_at, description
|
|
FROM schema_migrations
|
|
WHERE service = 'requirement-processor'
|
|
ORDER BY applied_at;
|
|
EOF
|
|
|
|
log "✅ Migration fix completed!"
|
|
log "You can now restart the full deployment:"
|
|
log "docker compose up -d"
|