* Add postgres * Migrate users * Migrate geneticRequest * Try to fix Concurrent call * Fix asyncawait * Fix async and concurrent * Migrate backtests * Add cache for user by address * Fix backtest migration * Fix not open connection * Fix backtest command error * Fix concurrent * Fix all concurrency * Migrate TradingRepo * Fix scenarios * Migrate statistic repo * Save botbackup * Add settings et moneymanagement * Add bot postgres * fix a bit more backups * Fix bot model * Fix loading backup * Remove cache market for read positions * Add workers to postgre * Fix workers api * Reduce get Accounts for workers * Migrate synth to postgre * Fix backtest saved * Remove mongodb * botservice decorrelation * Fix tradingbot scope call * fix tradingbot * fix concurrent * Fix scope for genetics * Fix account over requesting * Fix bundle backtest worker * fix a lot of things * fix tab backtest * Remove optimized moneymanagement * Add light signal to not use User and too much property * Make money management lighter * insert indicators to awaitable * Migrate add strategies to await * Refactor scenario and indicator retrieval to use asynchronous methods throughout the application * add more async await * Add services * Fix and clean * Fix bot a bit * Fix bot and add message for cooldown * Remove fees * Add script to deploy db * Update dfeeploy script * fix script * Add idempotent script and backup * finish script migration * Fix did user and agent name on start bot
1.9 KiB
1.9 KiB
🚀 Safe Database Migration Script
A clean, focused script for safe database migrations with automatic backup and cleanup.
📋 Features
- ✅ Connectivity Check: Verifies database connection before proceeding
- ✅ Automatic Backup: Creates backup with retry logic (3 attempts)
- ✅ Safety First: Exits if backup fails - no migration without backup
- ✅ Smart PostgreSQL: Uses Docker PostgreSQL client if
psqlnot available - ✅ Migration: Runs Entity Framework migrations
- ✅ Verification: Checks migration success
- ✅ Cleanup: Keeps only last 5 backups per environment
🛠️ Usage
# Development environment
./safe-migrate.sh Development
# Sandbox environment
./safe-migrate.sh Sandbox
# Production environment
./safe-migrate.sh Production
🔄 Process Flow
- Environment Validation: Validates environment parameter
- Connectivity Check: Tests database connection
- Backup Creation: Creates backup with retry logic
- Migration: Runs pending migrations
- Verification: Checks migration success
- Cleanup: Removes old backups (keeps last 5)
🚨 Safety Features
- Mandatory Backup: Script exits if backup cannot be created
- Retry Logic: 3 backup attempts with 5-second delays
- Error Handling: Clear error messages and exit codes
- Logging: Detailed logs for troubleshooting
📊 Output
✅ Database connectivity test passed
✅ Database backup created: ./backups/managing_Development_backup_20250726_043047.sql
✅ Database migration completed successfully
✅ Database schema verification passed
✅ Kept last 5 backups for Development environment
🔧 Prerequisites
- Docker (for PostgreSQL client)
- .NET 8.0 SDK
- Access to target database
📁 Files
- Backups:
./backups/managing_[Environment]_backup_[Timestamp].sql - Logs:
./migration_[Environment]_[Timestamp].log