A Powerful Database Migration Tool To Transfer Data.
Project description
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.
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. 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
py-auto-migrate migrate --source <SOURCE_URI> --target <TARGET_URI>
| Argument | Description |
|---|---|
--source |
Required. Connection URI for the source database. |
--target |
Required. Connection URI for the target database. |
--table |
Optional. Migrate a specific table. If omitted, all data is migrated. |
--ai-ask |
Optional. Natural language query for AI-powered. |
--ai-model |
Optional. OpenAI model (default: gpt-3.5-turbo). |
Examples
1. Migrate an entire database from MongoDB to MySQL:
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:
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.
3. Query using AI (Target must be a relational database):
export OPENAI_API_KEY="your-api-key"
Before using AI, make sure the OPENAI_API_KEY has been exported.
py-auto-migrate migrate \
--source "oracle://user:password@host:port/service_name" \
--target "mssql://user:password@host:port/database" \
--ai-ask "Please select and insert only names that start with 'S', then sort them." /
--ai-model "gpt-3.5-turbo"
Dashboard
For an even easier and more visual migration experience, Py-Auto-Migrate includes a dedicated web dashboard.
Usage:
py-auto-migrate dashboard
Default Dashboard URL:
http://localhost:8123
or :
py-auto-migrate dashboard --host "localhost" --port 8000
Features:
- Visual Interface – No need to memorize commands or URIs
- Connection Builder – Easily build source/target URIs with form inputs
- Table Selection – Choose specific tables or migrate all with checkboxes
- Real-time Logs – Watch migration progress and errors live
- AI Query UI – Use natural language queries with a simple text box
- Job Management – Run, monitor, and manage multiple migration jobs
- One-Click Migrate – Start migrations with a single button click
Supported Databases
We support a wide and growing range of databases.
| Category | Databases |
|---|---|
| Relational | |
| NoSQL | |
| Analysis |
Have a feature request? Open an issue and let us know!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file py_auto_migrate-0.5.9.tar.gz.
File metadata
- Download URL: py_auto_migrate-0.5.9.tar.gz
- Upload date:
- Size: 34.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5173441af077b4067e46533775725a295a6f588b1c1b6d37a650baf045e44ff
|
|
| MD5 |
ce974f039e08a880da0a91c2e9127ab1
|
|
| BLAKE2b-256 |
669bfa518e5f3708e531aa445008c6f03215650ad1d0e65c79d1bcc5091d45bd
|