Database sync tool for developers
Project description
dbsyncx
Sync and backup databases like Git.
What is dbsyncx?
dbsyncx is a developer-first CLI that makes it easy to:
- Sync databases between environments
- Create backups instantly
- Avoid complex
pg_dumpcommands - Work safely with production data
Think of it as:
Git-style workflow for your database
Why dbsyncx?
If you've ever:
- Needed to debug production locally
- Run risky migrations without a backup
- Forgotten
pg_dumpflags - Accidentally overwritten the wrong DB 😅
Then dbsyncx is for you.
Features
- Sync databases (pull / push)
- One-command database backups
- Built-in safety confirmations
- Dry-run mode (preview actions)
- Clean YAML configuration
- Adapter-based architecture
- Fully local (no cloud required)
Example
Pull production → local
dbsyncx pull production local
This will overwrite 'local'. Continue? [y/N]:
12:41:03 | INFO | Pulling database: production -> local
12:41:05 | INFO | Dumping source database
12:41:07 | INFO | Restoring into target database
✔ Pull complete
Create a backup
dbsyncx dump production
✔ Dump created: dbsyncx_production_20260427_125102.dump
Installation
Requirements
Make sure PostgreSQL tools are installed:
pg_dump --version
pg_restore --version
psql --version
Install
pip install dbsyncx
Or from source:
pip install -e .
Verify
dbsyncx version
dbsyncx is at version 1.0.0
Quick Start
1. Initialize
dbsyncx init
2. Configure
Edit:
.dbsyncx/config.yaml
project_id: my-project
databases:
local:
url: postgresql://localhost:5432/mydb
production:
url: postgresql://user:password@host:5432/mydb
3. Test connection
dbsyncx status local
4. Sync database
dbsyncx pull production local
Commands
Initialize config
dbsyncx init
Pull database
dbsyncx pull <source> <target>
Push database
dbsyncx push <source> <target>
Dump database (backup)
dbsyncx dump <database>
Options:
--output, -o Custom output file
--dry-run Simulate without executing
Check connection
dbsyncx status <database>
Version
dbsyncx version
Safety Features
dbsyncx protects you by default:
- Prompts before overwriting databases
--forceto skip confirmation--dry-runto simulate actions
Security
- Runs entirely locally
- No credentials leave your machine
- No cloud dependency
- Uses native PostgreSQL tools
How it works
dbsyncx uses:
pg_dump→ export databasepg_restore→ restore database
No magic — just safer workflows.
Architecture
Adapter-based design:
Current:
- ✅ PostgreSQL
Future:
- MySQL
- SQLite
- MongoDB
Roadmap
v1.0.0 (Current)
- CLI sync tool
- Backup support
- Safety features
v1.1.0
- Schema-only sync
- Table-specific sync
v1.2.0
- Cloud dashboard
- Sync history
v2.0.0
- Multi-database support
Development
git clone https://github.com/yourusername/dbsyncx
cd dbsyncx
pip install -e .[dev]
pytest
Contributing
Contributions welcome.
Open issues or PRs.
License
MIT
Support
If you find this useful:
- ⭐ Star the repo
- Share with your team
- Suggest features
Coming Soon
Optional cloud dashboard for:
- Sync monitoring
- Scheduled backups
- Team workflows
CLI will always remain free.
Built for developers who are tired of database headaches.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dbsyncx-1.0.0.tar.gz.
File metadata
- Download URL: dbsyncx-1.0.0.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
901bd326713c41eea8af571c2f3d12a1cff93d06e4ddf4fb85a3fcc7811e8349
|
|
| MD5 |
856d5e7e85fd3c8647f60e294c2d600b
|
|
| BLAKE2b-256 |
e307cfba1069670145edcd42b76ccfd1ade7fa6dcd04947b006ff640a7f5637f
|
File details
Details for the file dbsyncx-1.0.0-py3-none-any.whl.
File metadata
- Download URL: dbsyncx-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8411af72d52f84e04285f6c00e9ffcda0a7545962e40804480cfa9b57d273db2
|
|
| MD5 |
980c9c02ee679518ad029d3e2f97cf13
|
|
| BLAKE2b-256 |
27a1db975e6d79c3f2bbbb44cb5432589f8bf9d849a26795db210afd060e2780
|