https://github.com/kasrakhaksar/py-auto-migrate
A Powerful Database Migration Tool To Transfer Data β‘
https://github.com/kasrakhaksar/py-auto-migrate
cli database mariadb mongodb mysql oracle postgresql pypi-package python shell sqlite sqlserver
Last synced: 2 months ago
JSON representation
A Powerful Database Migration Tool To Transfer Data β‘
- Host: GitHub
- URL: https://github.com/kasrakhaksar/py-auto-migrate
- Owner: kasrakhaksar
- Created: 2025-08-15T15:53:46.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-11-10T15:16:03.000Z (6 months ago)
- Last Synced: 2025-11-10T16:51:19.644Z (6 months ago)
- Topics: cli, database, mariadb, mongodb, mysql, oracle, postgresql, pypi-package, python, shell, sqlite, sqlserver
- Language: Python
- Homepage: https://pypi.org/project/py-auto-migrate/
- Size: 36 MB
- Stars: 4
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
π Py-Auto-Migrate
The Universal Database Migration Tool
Seamlessly transfer data between any database.
---
## β‘ Why Py-Auto-Migrate?
Migrating data between different database systems is often a tedious and error-prone task. **Py-Auto-Migrate** is here to change that. It's a powerful, flexible, and easy-to-use Python tool that automates the entire process.
- **π Universal Connector**: Supports a vast range of databases, from SQL to NoSQL.
- **π€ Zero Configuration**: Point to your source and target, and let the tool handle schema detection, data type mapping, and destination creation.
- **β‘ Blazing Fast**: Optimized for performance, even with large datasets.
- **π‘οΈ Safe & Reliable**: Built-in checks ensure data integrity throughout the migration.
---
## π¦ Installation
Get started in seconds with `pip`.
```bash
pip install py-auto-migrate
```
### π Prefer a Standalone Shell?
Don't have Python? No problem! Download the dedicated **PAM-Shell** for your OS from the [Releases page](https://github.com/kasrakhaksar/py-auto-migrate/releases). It's a ready-to-run executable with the same powerful features.
---
## π Quick Start
Using Py-Auto-Migrate is as simple as running one command.
### Basic Command Structure
```bash
py-auto-migrate migrate --source --target [--table ]
```
| Argument | Description |
| -------------- | -------------------------------------------------------------------------------------------- |
| `--source` | **Required.** Connection URI for the source database. |
| `--target` | **Required.** Connection URI for the target database. |
| `--table` | **Optional.** Migrate a specific table/collection. If omitted, **all** data is migrated. |
### Real-World Examples
**1. Migrate an entire database from MongoDB to MySQL:**
```bash
py-auto-migrate migrate \
--source "mongodb://user:pass@localhost:27017/source_db" \
--target "mysql://user:pass@localhost:3306/target_db"
```
**2. Migrate a single PostgreSQL table to a new MongoDB collection:**
```bash
py-auto-migrate migrate \
--source "postgresql://user:pass@localhost:5432/mydb" \
--target "mongodb://user:pass@localhost:27017/mydb" \ --table users
```
> **β¨ The Magic:** If the target database or table doesn't exist, **Py-Auto-Migrate automatically creates it for you!** It intelligently maps source data types to the appropriate target schema.
---
## ποΈ Supported Databases
We support a wide and growing range of databases.
| Category | Databases |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Relational** | [](https://www.mysql.com/) [](https://www.postgresql.org/) [](https://www.oracle.com/database/) [](https://www.microsoft.com/en-us/sql-server) [](https://mariadb.org/) [](https://www.sqlite.org/) |
| **NoSQL** | [](https://www.mongodb.com/) [](https://redis.io/) [](https://aws.amazon.com/dynamodb/) [](https://www.elastic.co/elasticsearch/) |
| **Other** | [](https://clickhouse.com/) |
---
## π§ Future Roadmap
We're constantly working to make Py-Auto-Migrate even better. Hereβs whatβs on the horizon:
| Feature | Status |
| ------------------------------------------------------------- | ----------- |
| β
**Click House Support** | Completed |
| β³ **Automatic Index Creation** on target tables/collections | In Progress |
| β³ **Performance Optimizations** for terabyte-scale datasets | In Progress |
| β³ **Incremental Migrations** (sync only changes) | Planned |
| β³ **Graphical User Interface (GUI)** | Planned |
Have a feature request? [Open an issue](https://github.com/kasrakhaksar/py-auto-migrate/issues) and let us know!