Skip to main content

A Tool For Transferring Data, Tables, And Datasets Between Different Databases.

Project description

🚀 Py-Auto-Migrate

The Universal Database Migration Tool
Seamlessly transfer data between any database.

PyPI - Version GitHub Repo Stars License Releases


⚡ 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> [--table <TABLE_NAME>]
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:

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.


🗄️ Supported Databases

We support a wide and growing range of databases.

Category Databases
Relational MySQL PostgreSQL Oracle SQL Server MariaDB SQLite
NoSQL MongoDB Redis DynamoDB Elasticsearch
Other ClickHouse

🧭 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 and let us know!

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

py_auto_migrate-0.3.5.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_auto_migrate-0.3.5-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file py_auto_migrate-0.3.5.tar.gz.

File metadata

  • Download URL: py_auto_migrate-0.3.5.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for py_auto_migrate-0.3.5.tar.gz
Algorithm Hash digest
SHA256 cc7b6d5c2d0e3e1641dc639d890c2ca1c37631d82ff519d2a42db05c3fa8a444
MD5 5f922fcbdaf2b3906ae31c70233611ce
BLAKE2b-256 4cbbed445abf0012c5be0f14c62b133a48ae91739a87305e16aa41c05b497a5f

See more details on using hashes here.

File details

Details for the file py_auto_migrate-0.3.5-py3-none-any.whl.

File metadata

File hashes

Hashes for py_auto_migrate-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ac366bcb11b330cef4efbb7ffbcd6a9cf2690ba2c70c2da43281391470e14a97
MD5 a4b8f7010a4395bab0b202dec995951a
BLAKE2b-256 9c73f06c3285dc4dbbebd99fe92d9ab89bb456b987ce3cc29989582257799aba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page