feat: Add MySQL to PostgreSQL migration tool with JSONB transformation
Implement comprehensive migration solution with: - Full and incremental migration modes - JSONB schema transformation for RAWDATACOR and ELABDATADISP tables - Native PostgreSQL partitioning (2014-2031) - Optimized GIN indexes for JSONB queries - Rich logging with progress tracking - Complete benchmark system for MySQL vs PostgreSQL comparison - CLI interface with multiple commands (setup, migrate, benchmark) - Configuration management via .env file - Error handling and retry logic - Batch processing for performance (configurable batch size) Database transformations: - RAWDATACOR: 16 Val columns + units → single JSONB measurements - ELABDATADISP: 25+ measurement fields → structured JSONB with categories 🤖 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
22
.env.example
Normal file
22
.env.example
Normal file
@@ -0,0 +1,22 @@
|
||||
# MySQL Source Database
|
||||
MYSQL_HOST=localhost
|
||||
MYSQL_PORT=3306
|
||||
MYSQL_USER=root
|
||||
MYSQL_PASSWORD=your_mysql_password
|
||||
MYSQL_DATABASE=your_database_name
|
||||
|
||||
# PostgreSQL Target Database (container Incus)
|
||||
POSTGRES_HOST=localhost
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_USER=postgres
|
||||
POSTGRES_PASSWORD=your_postgres_password
|
||||
POSTGRES_DATABASE=migrated_db
|
||||
|
||||
# Migration Settings
|
||||
BATCH_SIZE=10000
|
||||
LOG_LEVEL=INFO
|
||||
DRY_RUN=false
|
||||
|
||||
# Performance Testing
|
||||
BENCHMARK_OUTPUT_DIR=benchmark_results
|
||||
BENCHMARK_ITERATIONS=5
|
||||
Reference in New Issue
Block a user