mirror of
https://github.com/thecyberlearn/quantum-ai-v2.git
synced 2026-08-18 15:52:59 +00:00
- Restore database migrations to startup process with --run-syncdb flag - Add agents population and static file collection to deployment - Increase health check timeout to 90s for migration time - Add health check back with 15s intervals for better monitoring - Create comprehensive migration strategy documentation - Add Railway final setup guide with quantum-ai.up.railway.app URLs Key improvements: ✅ Fault-tolerant migration process (continues on warnings) ✅ Automatic database setup on deployment ✅ Health monitoring restored for production readiness ✅ Complete documentation for maintenance and troubleshooting 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3.7 KiB
3.7 KiB
🗄️ Database Migration Steps
Current Issue
Database is not migrated because we removed migrations from railway.json startup to fix startup issues.
Step-by-Step Migration Process
Step 1: Ensure DATABASE_URL is Set
- Go to Railway project → Variables
- Add if not exists:
DATABASE_URL = ${{ Postgres.DATABASE_URL }} - Wait for Railway to redeploy (30-60 seconds)
Step 2: Test Database Connection
# Test if Django can connect to database
railway run python manage.py check
# Check database specifically
railway run python manage.py check --database default
Step 3: Run Migrations Manually
# Run all pending migrations
railway run python manage.py migrate
# If that fails, try step by step:
railway run python manage.py migrate --run-syncdb
Step 4: Populate Initial Data
# Create superuser (optional)
railway run python manage.py createsuperuser
# Populate agents
railway run python manage.py populate_agents
Step 5: Use Our Setup Command (Recommended)
# This does everything automatically with retries
railway run python manage.py setup_database
Expected Output
Successful Migration:
Operations to perform:
Apply all migrations: admin, agent_base, auth, authentication, contenttypes, core, data_analyzer, email_writer, five_whys_analyzer, job_posting_generator, sessions, social_ads_generator, wallet, weather_reporter
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
...
Applying authentication.0004_user_email_verified_emailverificationtoken... OK
Successful Agent Population:
Creating default agents...
Updated: Weather Reporter
Updated: Data Analyzer
Updated: Job Posting Generator
Updated: Social Ads Generator
Updated: 5 Whys Analysis Agent
Successfully processed 5 agents: 0 created, 5 updated
Troubleshooting
Error: "No module named 'psycopg2'"
Cause: PostgreSQL driver not installed Fix: Already in requirements.txt, should be available
Error: "Connection refused"
Cause: DATABASE_URL not set or PostgreSQL service not running Fix:
- Check Railway PostgreSQL service is active
- Verify DATABASE_URL variable is set
- Wait a few minutes for services to start
Error: "relation already exists"
Cause: Some tables already exist Fix:
railway run python manage.py migrate --fake-initial
Error: "permission denied"
Cause: Database user doesn't have permissions Fix: Railway PostgreSQL should have full permissions by default
Quick Fix Commands
If Migration Fails:
# Reset migrations (dangerous - only if needed)
railway run python manage.py migrate --fake-initial
# Or try individual apps:
railway run python manage.py migrate auth
railway run python manage.py migrate authentication
railway run python manage.py migrate agent_base
If Agents Don't Populate:
# Check if command exists
railway run python manage.py help populate_agents
# Run manually
railway run python manage.py shell
# Then in shell:
from agent_base.management.commands.populate_agents import Command
cmd = Command()
cmd.handle()
Verification
Check Database Tables:
railway run python manage.py dbshell
# In database shell:
\dt # List all tables
\q # Quit
Test Health Endpoint:
curl https://your-railway-domain.railway.app/health/
Should return database as "healthy" instead of "warning".
Next Steps After Migration
- Add health check back to railway.json
- Test all AI agents work correctly
- Verify user registration and payments work
- Check admin panel functionality
Run the migrations and let me know what output you get! 🚀