Introduction
sql-splitter is a command-line tool for working with SQL dump files. It’s designed for:
- Automation: JSON output, consistent exit codes, glob patterns
- CI/CD pipelines: Validation, integrity checks, reproducible operations
- Large files: Streaming architecture handles multi-GB dumps with constant memory
- Database migrations: Convert between MySQL, PostgreSQL, SQLite, and MSSQL
What Can You Do?
Section titled “What Can You Do?”Split & Merge
Section titled “Split & Merge”Break large dumps into per-table files for easier editing, then reassemble them:
sql-splitter split dump.sql -o tables/# Edit individual table files...sql-splitter merge tables/ -o updated.sqlConvert Between Dialects
Section titled “Convert Between Dialects”Migrate data between different databases:
sql-splitter convert mysql.sql --to postgres -o postgres.sqlCreate Dev Datasets
Section titled “Create Dev Datasets”Sample production data while preserving foreign key relationships:
sql-splitter sample prod.sql -o dev.sql --percent 10 --preserve-relationsValidate Dumps
Section titled “Validate Dumps”Check integrity before restoring to production:
sql-splitter validate dump.sql --strictAnonymize Data
Section titled “Anonymize Data”Redact PII for safe sharing:
sql-splitter redact dump.sql -o safe.sql --hash "*.email" --fake "*.name"Query Without Restoring
Section titled “Query Without Restoring”Run SQL queries directly on dump files using DuckDB:
sql-splitter query dump.sql "SELECT COUNT(*) FROM users"Next Steps
Section titled “Next Steps”- Installation - Install sql-splitter
- Quick Start - Your first split → edit → merge workflow
- Concepts - Understand dialects, streaming, and compression