Install
openclaw skills install database-schema-syncDatabase schema management using idempotent sync script instead of Alembic migrations. Use when (1) Adding new database tables, (2) Adding new columns to existing tables, (3) Modifying database schema, (4) Deploying to production, (5) Syncing schema across environments. REQUIRED APPROACH - ALWAYS use scripts/sync-production-schema.py with --dry-run first, NEVER run Alembic migrations directly in production.
openclaw skills install database-schema-syncPREFERRED APPROACH: Smart schema sync script that detects and applies only missing changes.
scripts/sync-production-schema.py for production deployments✅ Advantages:
❌ Alembic Migration Problems:
# Show what would change WITHOUT applying
python scripts/sync-production-schema.py --dry-run
# Output shows:
# ✓ Tables/columns that already exist (skipped)
# ℹ New tables/columns that would be created
# ⚠ Any potential issues
# Apply changes to production database
export DATABASE_URL="postgresql://..."
python scripts/sync-production-schema.py --apply
# Connect and verify schema
psql "$DATABASE_URL" -c "\dt" # List tables
psql "$DATABASE_URL" -c "\d table_name" # Describe table
/Users/tobymorning/Desktop/core/scripts/sync-production-schema.py/Users/tobymorning/Desktop/core/docs/deployment/SCHEMA_SYNC_GUIDE.md/Users/tobymorning/Desktop/core/src/backend/alembic/versions/src/backend/app/models/scripts/sync-production-schema.pydocs/deployment/SCHEMA_SYNC_GUIDE.md with new table info--dry-run firstsrc/backend/app/models/--dry-run firstRailway Deployment:
# In Procfile or deploy script
release: python scripts/sync-production-schema.py --apply
GitHub Actions:
- name: Sync Production Schema
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
run: python scripts/sync-production-schema.py --apply
alembic upgrade head in productionscripts/sync-production-schema.py for schema changes--dry-run before --applyTHIS IS A REQUIRED STANDARD. USE SCHEMA SYNC SCRIPT FOR ALL DATABASE CHANGES.
See references/sync-vs-alembic.md for detailed comparison of sync script vs Alembic migrations.
See references/workflow-examples.md for code examples of adding tables, columns, indexes, and handling complex migrations.
Run scripts/verify-sync-script.sh to validate that sync script exists and is properly configured.